Terminal for libraries and the like

ABSTRACT

A library terminal permits a user to execute a loan transaction without assistance. The library terminal (i) provides a visible scan line from a bar code reader indicating the correct positioning of the bar code on a circulating item, (ii) leads a user through a loan transaction, (iii) provides an explicit feedback to a user when an article has an improper position on the article receiving area, (iv) both checks out and checks in circulating items, (v) stores fonts in bit maps of screen displays instead of in a separate font memory, (vi) integrates a security marker reader, a printer, and a controller in the same housing, (vii) processes financial transactions related to the borrowing of circulating items, and/or (viii) displays actions for helping the user to correct errors in use of the terminal.

RELATED APPLICATION

The present application is a divisional of application Ser. No.09/058,547 filed on Apr. 10, 1998, now U.S. Pat. No. 6,369,709.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to a library terminal which may be used,for example, by borrowers to check circulating items out of, and/or toreturn circulating items, to, a library.

BACKGROUND OF THE INVENTION

Many businesses and other enterprises are increasingly automating theirsystems in order to reduce operating cost and improve service. When suchsystems are used by the customers of these businesses and otherenterprises, automation typically involves self-service facilities whichallow customers to satisfy their own requirements. For example,financial institutions and library systems are beginning to useself-service terminals in order to reduce costs and to improve service.In the case of libraries, the libraries' patrons may use theseself-service library terminals to conduct at least some of theirbusiness with the libraries.

Known self-service library terminals typically include a cradle on whichcirculating items to be checked out from, or returned to, a library canbe placed. A scanner reads a code, such as a bar code, which has beenplaced on the circulating item by library staff and which identifies thecirculating item. Typically the scanner projects a visible scan line inorder to read the code. The visible scan line used by current scannersdo little more than read codes, and are not arranged to provideinformation back to library patrons. Accordingly, known self-servicelibrary terminals are under-utilized.

Known self-service library terminals also do not lead a user through aloan transaction and do not provide feedback to the user regarding theproper use of the self-service library terminal. For example, knownself-service library terminals do not indicate to the user when acirculating item has been placed in an improper position on the cradle.

Moreover, when known self-service library terminals are configuredaccording to the specifications of a particular library, theconfiguration data is not conveniently generated and distributed to eachof the self-service library terminals provided by a library.Accordingly, unnecessary expense and time consuming labor are requiredto configure the self-service library terminals of a library.

In addition, known self-service library terminals typically rely on onlyone circulating item receiving area, such as a cradle, in order toreceive circulating items whose codes are to be scanned by the scannerduring check out and/or check in. This limitation means that eithercurrent self-service library terminals are limited in the types ofcirculating items which can be checked out and/or checked in by thepatron without the help of a member of the library staff, or librarystaff must be careful about the placement of codes on the circulatingitems and patrons must be careful about the placement of the differentkinds of circulating items on the cradle so that their codes may beproperly scanned.

Furthermore, known library self-service terminals have many otherlimitations. For example, (i) known self-service library terminals donot process financial credit transactions, (ii) they do not store loantransaction information during periods when the communication linkbetween the terminal and the main circulation system of the library isdown so that this loan transaction information can be later transferredto the main circulation system when the communication link is back up,(iii) they do not determine incorrect placement of a patron's librarycard on the cradle so that the identification of the patron processing acheck out or check in transaction can be determined, and (iv) they donot permit a library patron to continue a transaction at the option ofthe patron if the self-service library terminal is in an error state.

The present invention is directed to a library terminal that solves oneor more of the above noted problems.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, a libraryterminal comprises an article receiving area arranged to receive anarticle, a code reader arranged to read a code on the article whenplaced on the article receiving area, and a controller coupled to thecode reader. The controller is arranged to control the code reader so asto project a visible indicator onto the article receiving area and so asto change the visible indicator between first and second visible states,and the controller is arranged to process a signal from the code readercorresponding to the code read by the code.

In accordance with another aspect of the present invention, a libraryterminal comprises a display, a transducer, a code reader arranged toread a code on an article involved in a loan transaction, and acontroller coupled to the display, the transducer, and the code reader.The controller is arranged to control the code reader so to as read thecode on the article, the controller is arranged to control the displayso as to lead a user through the loan transaction, and the controller isarranged to control the transducer so as to provide an audible feedbackhaving first and second on-states depending upon operation of thelibrary terminal by the user.

In accordance with still another aspect of the present invention, aself-service library terminal comprises an article receiving areaarranged to receive an article, a code reader arranged to read a code onthe article when the article is placed on the article receiving area,and a controller coupled to the code reader. The controller is arrangedto process signals from the code reader and to provide an explicitfeedback to a borrower when an article has an improper position on thearticle receiving area.

In accordance with an additional aspect of the present invention, amethod of the present invention is provided for the preparation ofconfiguration data for multiple self-service library terminals.According to the method, the configuration data is stored in datastorage memories of the multiple self-service library terminals. Themultiple self-service library terminals are configured by theconfiguration data to interact with users during loan transactions. Themethod comprises the following steps: a) preparing the configurationdata on an administration terminal; and b) transferring theconfiguration data from the administration terminal to the data storagememories of the multiple self-service library terminals.

In accordance with yet another aspect of the present invention, alibrary terminal comprises a monitor, a data storage memory storingscreen displays, and a controller. The screen displays include fonts.The controller is arranged to control the display of the screendisplays, including the fonts, on the monitor without performing fontrendering from fonts stored separately from the screen displays.

In accordance with a further aspect of the present invention, a libraryterminal comprises a housing, an item receiving area incorporated in thehousing, a video receiving area incorporated in the housing, a readersupported by the housing and arranged to read the circulating item andthe video when the circulating item is placed in the item receiving areaand when the video is placed in the video receiving area, and acontroller. The item receiving area is arranged to receive a circulatingitem. The video receiver area is arranged to receive a video. Thecontroller is contained with the housing, and the controller is coupledto the reader.

In accordance with still a further aspect of the present invention, aself-service library terminal comprises a reader and a controller. Thereader is arranged to read identifications on articles involved inlibrary loan transactions. The controller is arranged to process signalsfrom the reader corresponding to the identifications read by the reader,and the controller is arranged to process financial credit transactionsrelated to the library loan transactions and to remind a borrower of theborrower's account status.

In accordance with yet a further aspect of the present invention, anarrangement comprises a self-service library terminal, a circulationsystem, and a communication link. The communication link couples theself-service library terminal to the circulation system. Theself-service library terminal has a controller arranged to process aloan transaction of a borrower of a circulating item. The controllerstores the loan transaction during a period when the communication linkbetween the self-service library terminal and the circulation system isdown, and the controller transfers the stored loan transaction from theself-service library terminal to the Circulation system during a periodwhen the communication link between the self-service library terminaland the circulation system is not down.

In accordance with an additional aspect of the present invention, alibrary terminal comprises a card receiving area arranged to receive alibrary card, a card reader arranged to read the library card when thelibrary card is placed on the card receiving area, and a controllercoupled to the card reader. The controller is responsive to the cardreader in order to determine incorrect library card placement on thecard receiving area.

In accordance with a further additional aspect of the present invention,a library terminal comprises a circulating item receiving area arrangedto receive a circulating item, a scanner arranged to scan thecirculating item when the circulating item is placed on the circulatingitem receiving area, and a controller coupled to the scanner. Thecontroller is responsive to the scanner in order to determine when thecirculating item is in the circulating item receiving area but is not ina reference position.

In accordance with still a further additional aspect of the presentinvention, a library terminal comprises a first circulating itemreceiving area arranged to receive a first circulating item of a firsttype, a first scanner arranged to read the first circulating item whenthe first circulating item is placed in the first circulating itemreceiving area, a second circulating item receiving area arranged toreceive a second circulating item of a second type, a second scannerarranged to read the second circulating item when the second circulatingitem is placed in the second circulating item receiving area, and acontroller coupled to the first and second scanners. The first andsecond types are different. The controller is responsive to the firstscanner in order to determine when the second circulating item is placedon the first circulating item receiving area.

In accordance with yet a further additional aspect of the presentinvention, a self-service library terminal comprises a controller and adisplay. The controller is arranged to detect an error state of theself-service library terminal and, while the self-service libraryterminal is in the error state, to notify a user through use of thedisplay that the user may continue a transaction at the option of theuser.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages of the present invention willbecome more apparent from a detailed consideration of the invention whentaken in conjunction with the drawings in which:

FIG. 1 illustrates a self-service library terminal according to thepresent invention;

FIG. 2 illustrates a library system in which a plurality of libraryterminals are interconnected;

FIG. 3 illustrates an exemplary set of internal components for theself-service library terminal illustrated in FIG. 1;

FIG. 4 illustrates a start up routine performed by the self-servicelibrary terminal illustrated in FIG. 1 is where the self-service libraryterminal is arranged to process only checkouts;

FIG. 5 illustrates an alternative start up routine which may beperformed by the self-service library terminal illustrated in FIG. 1when the terminal has multiple language capability and when the terminalis used for both checkout and checkin;

FIGS. 6-14 illustrate a patron identification routine performed by theself-service library terminal illustrated in FIG. 1;

FIGS. 15-20 illustrate a circulating item check-out routine performed bythe self-service library terminal illustrated in FIG. 1;

FIG. 21 illustrates a session termination routine performed by theself-service library terminal illustrated in FIG. 1;

FIGS. 22 and 23 illustrates a patron walk-away routine performed by theself-service library terminal illustrated in FIG. 1;

FIG. 24 illustrates a start up routine performed by the self-servicelibrary terminal illustrated in FIG. 1 where the self-service libraryterminal is arranged to process only checkins;

FIGS. 25-27 illustrate a circulating item check in routine performed bythe self-service library terminal illustrated in FIG. 1;

FIG. 28 illustrates an out-of-service routine performed by theself-service library terminal illustrated in FIG. 1;

FIG. 29 illustrates a post identification processing routine performedby the self-service library terminal illustrated in FIG. 1; and,

FIG. 30 illustrates an arrangement for configurating the self-servicelibrary terminal illustrated in FIG. 1.

DETAILED DESCRIPTION

A self-service library terminal 10 is illustrated in FIG. 1. Theself-service library terminal 10 has a housing 12 forming a cradle 14,which also may be referred to as a first circulating item receivingarea. The cradle 14 is arranged to receive a circulating item such as abook, a magazine, a CD, and/or the like, and has an idle indicator 16.The idle indicator 16, for example, may be a bar code, may be referredto herein as a default bar code, and may be provided in a card holder ofthe cradle 14. This card holder may be used by the library patron tohold the patron's library card when the patron is entering the patron'sID at the beginning of a loan transaction. A reader 18 is supported onthe housing 12 and is arranged to read item identifiers or codes, suchas bar codes, on the circulating items and library cards placed on thecradle 14. For example, the reader 18 may be a scanner such as a barcode scanner. The reader 18 also reads the idle indicator 16 in order todetermine, for example, when a library card or a circulating item is oris not on the cradle 14. The reader 18 may additionally be arranged toread other features, such as dimensions, of a library card and/or acirculating item.

Photoelectric sensors 20 and 22 are suitably affixed to the cradle 14and are used to sense circulating items on the cradle 14. For example,when the reader 18 reads the idle indicator 16 on the cradle 14, andneither of the photoelectric sensors 20 and 22 is covered, theself-service library terminal 10 determines that a circulating item isnot placed on the cradle 14. On the other hand, if the reader 18 readsthe idle indicator 16 and one of the photoelectric sensors 20 and 22 iscovered, or if the reader 18 does not read the idle indicator 16 and oneor both of the photoelectric sensors 20 and 22 are covered, theself-service library terminal 10 determines that a circulating item isplaced on the cradle 14 but is not in the proper position. Thus, acirculating item is in the proper position when its identifier on thecirculating item is read by the reader 18 and both of the photoelectricsensors 22 and 20 are covered.

As is also known, a security marker may be provided in or on acirculating item. This security marker typically is a magnetic stripwhich is placed in the spine and/or along an edge of a circulating item.The security marker can be desensitized when a circulating item isproperly checked out by a library patron so that exit scanners will notprovide an alarm as the patron passes out of an exit of the library. Onthe other hand, if the security marker is not desensitized before thecirculating item passes through the exit scanners, an alarm will begiven to alert the library staff. During check in, the security markerof a circulating item is re-sensitized so that, if the circulating itemis not properly checked out before an attempt is made to remove thecirculating item from the library, an alarm will be given. Accordingly,the self-service library terminal 10 can include asensitizer/desensitizer 24 which is provided in a back wall 26 of thehousing 12 and which interacts with the security marker. For example,the security marker may be a magnetic security marker, and thesensitizer/desensitizer 24 may be arranged to magnetize or de-magnetizethe magnetic security marker. The sensitizer/desensitizer 24 also may bearranged to read the magnetic state of the security marker duringmultiple book detection and/or to determine the appropriatesensitizing/desensitizing range of the sensitizer/desensitizer 24.

In order for the sensitizer/desensitizer 24 to operate properly, theportion of the circulating item having the security marker must beagainst the back wall 26 of the cradle 14. The item identifier whichuniquely identifies a circulating item is placed by the library staff onthe circulating item so that, when the reader 18 reads the itemidentifier on the circulating item, and when the photoelectric sensors20 and 22 are covered, the portion of the circulating item having thesecurity marker must be against the sensitizer/desensitizer 24. Thus,when the reader 18 fails to read either the item identifier of acirculating item or the idle indicator 16, and when the photoelectricsensors 20 and 22 are covered, then either the circulating item has beenplaced on the cradle 14 so that the portion of the circulating itemhaving the security marker is not against the sensitizer/desensitizer24, or the circulating item must be slid sufficiently along the backwall 26 to enable the reader 18 to read the item identifier on thecirculating item.

In the case where the reader 18 is a scanner such as a bar code scanner,the visible scan line projected by the reader 18 may be used to indicateproper placement of the circulating item on the cradle 14 so that theidentifier on the circulating item may be read. Thus, this scan linehelps guide the patron in properly positioning the circulating item onthe cradle 14. Also, the self-service library terminal 10 has a display28 which is used to provide instructions to the patron regarding properplacement of a circulating item on the cradle 14 in response to feedbackfrom the reader 18 and the photoelectric sensors 20 and 22. Also, thedisplay 28 may be used to provide other information to the patron.

The self-service library terminal 10 may also be provided with a videoslot 30, which may also be referred to as a second circulating itemreceiving area. The video slot 30 may be used to receive suchcirculating items as videos and the like. The self-service libraryterminal 10 further has a keypad 32, a magnetic stripe reader 34, aprinter (not shown in FIG. 1), a printer slot 36, a proximity sensor 38,and an audible transducer 40. The keypad 32 may be used by a patron toenter appropriate data. The magnetic stripe reader 34 may be used, forexample, to read a magnetic stripe on a patron's library card, debitcard, credit card, or the like. The patron may present the magneticstripe of a library card to the magnetic stripe reader 34 so that thepatron processing a transaction at the self-service library terminal 10may be identified. The magnetic stripe reader 34 may also be used toread a magnetic stripe on a patron's debit card or credit card in orderto process a financial transaction involving the patron. The printer maybe used to issue printed matter through the printer slot 36. Forexample, the printer may be used to print various items such as systemdiagnostics, receipts based on financial transactions conducted bylibrary patrons, or receipts for circulating items being checked outindicating the date by which the circulating items should be checked in.The proximity sensor 38 may be used to detect when a library patron hasapproached the self-service library terminal 10, and the audibletransducer 40 may be used to provide audible feedback to the patron. Thehousing 12 may also be provided with a cash slot 42 that may be used toreceive and dispense cash involved in financial transactions. As shownin FIG. 1, the cash slot 42 is a separate box which is in communicationwith the self-service library 10 terminal by way of a connection in therear of the housing 12. Alternatively, the cash slot 42 may be formedintegrally with the self-service library 10.

As shown in FIG. 2, a circulation system 48 of a library typically hasmultiple terminals some or all of which may be self-service libraryterminals such as the self-service library terminal 10 shown in FIG. 1.Accordingly, the circulation system 48 includes a data server 50 and aplurality of library terminals 52, 54, 56, 58, . . . n which, as shownin FIG. 2, are interconnected in a star configuration. However, itshould be understood that the data server 50 and the library terminals52, 54, 56, 58, . . . n may be instead interconnected in any networkconfiguration. The data server 50 is at the hub of the star and, forexample, may include the functions of a main circulation terminal and/oran administration terminal which are used by library staff in order toadminister the circulating system 48 in which the library terminals 52,54, 56, 58, . . . n are used. Indeed, for the discussion below, it isassumed that the data server 50 performs the function of anadministration terminal. However, it should be understood that aseparate administration terminal may be used.

Alternatively, the data server 50 may be a gateway permitting the otherlibrary terminals shown in FIG. 2 to communicate with one another. Theother library terminals 52, 54, 56, 58, . . . n may be self-servicelibrary terminals such as the self-service library terminal 10 shown inFIG. 1.

Configuration data may be generated by use of one of the libraryterminals shown in FIG. 2. If the data server 50 performs the functionsof an administration terminal, the configuration data can be generatedthere. On the other hand, if the data server 50 is also a gateway, oneof the library terminals 52, 54, 56, 58, . . . n shown in FIG. 2functioning as an administration terminal may be used in order togenerate the configuration data. Alternatively, any of the libraryterminals 52, 54, 56, 58, . . . n may be used to generate theconfiguration data. As a still further alternative, all of the libraryterminals 52, 54, 56, 58, . . . n shown in FIG. 2 may be self-servicelibrary terminals.

The configuration data includes, for example, screen display formats.These screen display formats are used to generate screen displays in oneor more languages which are then presented to the user on the display 28shown in FIG. 1 depending upon the nature of the information to beconveyed to the user or depending upon the information which is to beelicited from the patron. The configuration data may also includereceipt formats and message responses. Accordingly, the configurationdata is generated using the designated library terminal and is thendownloaded to the other library terminals of the circulation system 48.

The components housed by the housing 12 of the self-service libraryterminal 10 are illustrated in FIG. 3. As shown in FIG. 3, theself-service library terminal 10 includes a microprocessor 60 and amemory 62 associated therewith. The memory 62 may include, for example,a RAM 64 and a ROM 66. The microprocessor 60 also has I/O ports 68 inorder to receive information from, and to provide information to,various devices. For example, the microprocessor 60 receives informationfrom the reader 18, the photoelectric sensors 20 and 22, the keypad 32,the magnetic stripe reader 34, and the proximity sensor 38. Theinformation from these devices is read by the microprocessor 60 throughthe I/O ports 68.

The microprocessor 60 also provides information to the display 28, theaudible transducer 40, and the printer 70 through the I/O ports 68.Accordingly, the microprocessor 60, for example, provides screendisplays and other information for display by the display 28, feedbackand other information for transmission by the audible transducer 40, andinformation to be printed by the printer 70. A communication link 72 isprovided so that the microprocessor 60 can transmit and receiveinformation to and from other self-service library terminals and/or thedata server 50. For example, the microprocessor 60 may be arranged todetermine whether the communication link 72 is down at any time that itneeds to communicate with the data server 50 over the communication link72. During periods when the communication link 72 is down, themicroprocessor 60 stores in the memory 62 any loan transactioninformation that it is required to communicate to the data server 50 sothat this loan transaction information can be later transferred to thedata server 50 when the communication link 72 is back Up. A reader 74,which may be similar to the reader 18 and which is housed in the housing12, is provided for reading item identifiers on videos that are insertedby the library patron into the video slot 30.

The microprocessor 60 executes a program represented by the flow chartsshown in FIGS. 4-29. The flow chart shown in FIG. 4 governs start-up ofthe self-service library terminal 10 when the self-service libraryterminal 10 is used only for checkout of circulating items. At start-up,if the staff of the library in which the self-service library terminal10 is used determines that the self-service library terminal 10 is notto be used during a particular time period, then the microprocessor 60at a block 102 retrieves an out-of-service screen display SCR-28 fromthe memory 62 and displays that out-of-service screen display on thedisplay 28. On the other hand, if the microprocessor 60 detects an errorat start up, then the microprocessor 60 as indicated by a block 104retrieves an error condition out-of-service screen display SCR-82 fromthe memory 62 and displays this error condition out-of-service screendisplay on the display 28. As indicated in FIG. 4, the self-servicelibrary terminal 10 may be arranged to allow the patron to continueunder certain error conditions. The self-serve library terminal 10 maybe arranged so that whether the patron is allowed to continue undercertain error conditions is an option that the library staff can enable.

However, assuming that the staff of the library has not determined thatthe self-service library terminal 10 is not to be used during aparticular time period, and assuming that the microprocessor 60 does notdetect an error at start up, or if the patron is allowed to continueeven though there is an error, the microprocessor 60 at a block 106retrieves a welcome screen SCR-1 from the memory 62 and supplies thewelcome screen to the display 28.

The screen displays described herein may be stored as bit maps in thememory 62 and may be accessed from the memory 62 when needed.

This welcome screen SCR-1 may provide certain library specificinformation as designated by the staff of the library in which theself-service library terminal 10 is used. For example, the welcomescreen may direct the patron to first enter the patron's identificationby placing the patron's library card in the cradle 14 or by swiping themagnetic stripe on the patron's library card through the magnetic stripereader 34 or by using the keypad 32. Alternatively, a screen saverinitial screen may be presented on the display 28 to the patrondirecting the patron to press any key, upon which the welcome screenSCR-1 is presented to the patron. As a still further alternative, thewelcome screen SCR-1 is not presented on the display 28 until a sensor,such as the proximity sensor 38, detects the presence of a patron at theself-service library terminal 10. As a yet further alternative, or inaddition to any of the alternatives described above, the scan lineprojected by the reader 18 is changed from a first state to a secondstate when a sensor, such as the proximity sensor 38, detects thepresence of a patron at the self-service library terminal 10. Forexample, the first state may be off and the second state may be on, orthe first state may be steady and the second state may be blinking, orthe first state may be blinking and the second state may be steady, orthe first state may be long and the second state may be short, or thefirst state may be short and the second state may be long, or the like.

The microprocessor 60 remains in the block 106 state until it detectsthat the patron (i) has placed the patron's library card in the cradle14, or has presented the magnetic stripe on the patron's library card tothe magnetic stripe reader 34, or has entered the patron'sidentification through use of the keypad 32, or (ii) has pressed anidentification entry key of the keypad 32 indicating that the patronwishes to enter the patron's identification through use of the reader18, the magnetic stripe reader 34, or the keypad 32, or (iii) hastripped a media sensor such as covering one or more of the photoelectricsensors 20 and 22 or covering the idle indicator 16. If the patron hasplaced the patron's library card in the cradle 14, program flow proceedsto point B of FIG. 6. If the patron has entered the patron'sidentification through use of the keypad 32, program flow proceeds topoint B of FIG. 10. If the patron has presented the magnetic stripe onthe patron's library card to the magnetic stripe reader 34, program flowproceeds to point B of FIG. 8.

On the other hand, if the patron has pressed an identification entry keyon the keypad 32, program flow proceeds to a point 108 in FIG. 4. Thus,if the patron has pressed a bar code identification entry key of thekeypad 32 indicating that the patron wishes to enter the patron'sidentification through use of the reader 18, program flow proceeds topoint A of FIG. 6. If the patron has pressed a keypad identificationentry key of the keypad 32 indicating that the patron wishes to enterthe patron's identification through use of the keypad 32, program flowproceeds to point A of FIG. 10. If the patron has pressed a magneticstripe identification entry key of the keypad 32 indicating that thepatron wishes to enter the patron's identification through use of themagnetic stripe reader 34, program flow proceeds to point A of FIG. 8.

If the patron has tripped a media sensor (such as by placing acirculating item on the cradle 14 to cover at least one of thephotoelectric sensors 20 and 22), then the microprocessor 60 at a block110 provides a sad tone (indicated by the sad face) through the audibletransducer 40 and causes a screen display SCR-2 to be displayed to thelibrary patron in which the library patron is requested to press one ofthe identification entry keys on the keypad 32 in order to begin atransaction or to clear the media sensor. If the patron presses one ofthe identification entry keys, program flow proceeds to point 108 ofFIG. 4. If the library patron clears the sensor without pressing a keyor taking some other action indicating the beginning of a transaction,program flow returns to the block 106. If the library patron takes noaction at the block 110 for a predetermined amount of time as determinedby a maximum event timer T1, program flow returns to the block 106.

In the case where a library patron is allowed to choose a language inorder to execute a check in and/or check out transaction using theself-service library terminal 10, the flow chart shown in FIG. 5 insteadof the flow chart shown in FIG. 4 governs start-up of the self-servicelibrary terminal 10. As shown in FIG. 5, at start-up, if the staff ofthe library in which the self-service library terminal 10 is useddetermines that the self-service library terminal 10 is not to be usedduring a particular time period, then the microprocessor 60 at a block120 retrieves the out-of-service screen display SCR-28 from the memory62 and displays that out-of-service screen display on the display 28. Onthe other hand, if the microprocessor 60 detects an error at start up,then the microprocessor 60 as indicated by a block 122 retrieves theerror condition out-of-service screen display SCR-82 from the memory 62and displays this error condition out-of-service screen display on thedisplay 28. (The screen displays SCR-28 and SCR-82 may provide the sameout-of-service information in multiple languages.) As indicated in FIG.4, the self-service library terminal 10 may be arranged to allow thepatron to continue under certain error conditions.

However, assuming that the staff of the library has not determined thatthe self-service library terminal 10 is not to be used during aparticular time period, and assuming that the microprocessor 60 does notdetect an error at start up, or if the patron is allowed to continueeven though there is an error, the microprocessor 60 at a block 124retrieves a welcome screen from the memory 62 and supplies the welcomescreen SCR-3 to the display 28.

This welcome screen SCR-3 may be in multiple languages, may instruct thepatron to choose one of the multiple languages such that all subsequentscreen displays will be in the chosen language, and may provide certainlibrary specific information as designated by the staff of the libraryin which the self-service library terminal 10 is used. For example, thewelcome screen SCR-3 may direct the patron to press an identificationentry key. Alternatively, a screen saver initial screen may be presentedon the display 28 directing the patron to press any key, upon which thewelcome screen SCR-3 is presented to the patron. As a still furtheralternative, the welcome screen SCR-3 is not presented on the display 28until a sensor, such as the proximity sensor 38, detects the presence ofa patron at the self-service library terminal 10.

The microprocessor 60 remains in the block 124 state until it detectsthat the patron has pressed an identification entry key or a checkinindicating key of the keypad 32 (indicated in FIG. 5 as “correct key”),or has tripped a media sensor such as covering one or more of thephotoelectric sensors 20 and 22 or covering the idle indicator 16.Pressing an identification entry key indicates that the patron wishes toenter the patron's identification through use of the reader 18, themagnetic stripe reader 34, or the keypad 32. If the patron has pressedan identification entry key or a checkin indicating key on the keypad32, program flow proceeds to a point 126 in FIG. 5.

Thus, if the patron has pressed a bar code identification entry key ofthe keypad 32 indicating that the patron wishes to enter the patron'sidentification through use of the reader 18, program flow proceeds topoint A of FIG. 6. If the patron has pressed a keypad identificationentry key of the keypad 32 indicating that the patron wishes to enterthe patron's identification through use of the keypad 32, program flowproceeds to point A of FIG. 10. If the patron has pressed a magneticstripe identification entry key of the keypad 32 indicating that thepatron wishes to enter the patron's identification through use of themagnetic stripe reader 34, program flow proceeds to point A of FIG. 8.If the patron has pressed the checkin indicating key, a screen displaySCR-80 directing the patron to place a circulating item on the cradle orin the video slot 30 is provided on the display 28, and program flowproceeds to point A of FIG. 25.

If the patron has tripped a media sensor or has pressed the wrong key onthe keypad 32, then the microprocessor 60 at a block 128 provides a sadtone through the audible transducer 40 and causes a screen display SCR-4to be displayed to the library patron. The screen display SCR-4 againinstructs the patron to choose one of the multiple languages such thatall subsequent screen displays will be in the chosen language. Thescreen display SCR-4 also requests the library patron to press a correctkey on the keypad 32 in order to begin a transaction or to clear themedia sensor. If the patron presses a correct key, program flow proceedsto the point 126 of FIG. 5. If the library patron clears the sensorwithout pressing a key or taking some other action indicating thebeginning of a transaction, program flow returns to the block 124. Ifthe library patron takes no action at the block 128 for a predeterminedamount of time as determined by a maximum event timer T2, program flowreturns to the block 124.

As described above, when a user begins a transaction at the self-servicelibrary terminal 10, the library patron must first be identified. FIGS.6-14 illustrate the patron identification routine performed by theself-service library terminal 10. When the flow chart of FIG. 6 isentered through point A, the microprocessor 60 at a block 199initializes all counters and at a block 200 causes a screen displaySCR-5 to be displayed to the patron. This screen display indicates thatthe self-service library terminal 10 is ready for the library patron toplace the patron's library card in the proper position on the cradle 14.On the other hand, when the flow chart of FIG. 6 is entered throughpoint B, processing at the block 200 is bypassed because the patron'slibrary card is already in the proper position on the cradle 14.

After the screen display SCR-5 is presented to the patron at the block5, or if the flow chart of FIG. 6 is entered through point B, themicroprocessor 60 at a point 201 determines which action is appropriate.If a circulating item instead of a library card has been first placed onthe cradle 14 as determined by the particular identifier read by thereader 18 and/or the photoelectric sensors 20 and 22, and if anitem-on-cradle counter R9 has a count not exceeding a predeterminedthreshold (hereinafter referred to as a predetermined R9 threshold), ascreen display SCR-10 at a block 202 is presented to the library patroninstructing the library patron to remove the circulating item from thecradle 14 and to instead place the patron's library card on the cradle14. Also, the microprocessor 60 provides a sad tone through the audibletransducer 40. The item-on-cradle counter R-9 is then incremented at ablock 204, and program flow returns to the point 201 in order todetermine the next appropriate action. If the count of theitem-on-cradle counter R9 has exceeded the predetermined R9 threshold,however, then the microprocessor 60 at a block 206 provides a screendisplay SCR-9 to the library patron instructing the library patron toremove the item from the cradle 14 and indicating to the library patronthat the library patron has exceeded the number of allowable attempts toput a library card on the cradle 14. Also, the microprocessor 60provides a sad tone through the audible transducer 40 indicatingimproper operation. If the patron removes the item, program flow thenreturns through point C of FIG. 6 to the welcome screen. If the patrondoes not remove the item before a walkaway-item-removed timer T6 timesout, program flow proceeds to the walkaway routine of FIG. 22.

If the action determined by the microprocessor 60 at the point 201 isthat a bar code other than the idle indicator 16 is read by the reader18, the scan line projected by the reader 18 is provided as a shortsolid (SS) scan line and, as indicated at a block 212, the bar code readby the reader 18 is converted into a format processable by themicroprocessor 60. Thereafter, the microprocessor 60 determines whetherthe library patron identified by the bar code on the library card readby the reader 18 has previously been determined to be a blocked patron(i.e., a library patron who is not permitted to use library servicesthrough the self-service library terminal 10), and the microprocessor 60also determines whether the time accumulated by a blocked patron timerT7 has exceeded a predetermined T7 threshold. If the current librarypatron is a blocked patron and the time accumulated by the blockedpatron timer T7 has not reached the predetermined T7 threshold, themicroprocessor 60 at a block 214 provides the patron with a screendisplay SCR-12 indicating that the patron has a bad library card andinstructing the patron to remove the library card. Also, a sad tone isprovided to the library patron. If the patron removes the library cardbefore the walkaway-item-removed timer T6 times out, program flowreturns to the welcome screen. However, if the walkaway-item-removedtimer T6 times out before the patron removes the library card, programflow proceeds to the walkaway routine of FIG. 22.

If either the current library patron is not a blocked library patron, orthe time accumulated by the blocked patron timer T7 has exceeded thepredetermined T7 threshold, the microprocessor 60 determines whether thelibrary patron identified by the library card has a personnelidentification number (PIN). If the patron does not have a PIN, programflow proceeds to point A of FIG. 7. If the patron has a PIN, themicroprocessor 60 executes the program represented by the program flowshown in FIG. 12 which returns PIN ENTERED, NO PIN ENTERED, or CARDREMOVED. If PIN ENTERED is returned, program flow proceeds to point A ofFIG. 7. If CARD REMOVED is returned, then the microprocessor 60 at ablock 218 provides a screen display SCR-11 informing the patron that thepatron's library card has been removed. Also, a sad tone is provided tothe library patron. Program flow then returns to point 201. If NO PINENTERED is returned, then the microprocessor 60 at a block 220 providesa screen display SCR-81 informing the patron that the patron did notenter a PIN and directing the library patron to remove the patron'slibrary card. Also, a sad tone is provided to the library patron. If thepatron removes the library card before the walkaway-item-removed timerT6 times out, program flow returns to the welcome screen. However, ifthe walkaway-item-removed timer T6 times out before the patron removesthe library card, program flow proceeds to the walkaway routine of FIG.22.

If the microprocessor 60 determines that the action is that the idleindicator 16 in not read by the reader 18 (indicating, for example, thatthere is an object on the cradle 14 but that a bar code is not beingread from the object) and a maximum event timer T4 has accumulated apredetermined amount of time, the microprocessor 60 determines whether abad-read counter R2 has a count greater than a predetermined R2threshold. The maximum event time T4 times out if the patron placessomething on the cradle 14 so as to cover the idle indicator 16 butthereafter takes no action for the time allowed by the maximum eventtimer T4. If the bad-read counter R2 does not have a count greater thanthe predetermined R2 threshold, the microprocessor 60 at a block 222causes a screen display SCR-7 to be displayed to the library patronrequesting the patron to place the patron's library card on the cradle14. Also, a sad tone is provided to the library patron. The bad-readcounter R2 is incremented at a block 224, and program flow returns tothe point 201.

On the other hand, if the bad read counter R2 has a count greater thanthe predetermined R2 threshold, the microprocessor 60 at a block 226causes a screen display SCR-8 to be displayed to the library patronindicating that the patron's library card is unreadable and to removethe item. Thereafter, program flow returns to the welcome screen if thewalkaway-item-removed timer T6 does not time out before the item isremoved from the cradle 14. However, if the walkaway-item-removed timerT6 times out before the item is removed from the cradle 14, program flowproceeds to the walkaway routine of FIG. 22.

If the microprocessor 60 is at the point 201, and if a maximum eventtimer T3 has timed out before (i) an item is placed on the cradle 14 oran item identifier is read from a video in the video slot 30, (ii) anidentifier on a library card is read by the reader 18 when a librarycard is in the card holder described above, and (iii) the idle indicator16 is not read by the reader 18 and the maximum timer T4 times out, themicroprocessor 60 determines whether a please counter R1 has a countthat exceeds a predetermined R1 threshold. If the count of the pleasecounter R1 has exceeded the predetermined R1 threshold, program flowreturns to the welcome screen. However, if the count of the pleasecounter R1 has not exceeded the predetermined R1 threshold, themicroprocessor 60 at a block 228 provides a screen display SCR-6requesting the patron to please place the library patron's library cardon the cradle 14 in the correct position. The please counter R1 isincremented at a block 230, and program flow returns to the point 201.

When the flow chart of FIG. 7 is entered through point A, themicroprocessor 60 at a block 300 provides a screen display SCR-18indicating that the library patron's identification is being checked. Ata block 302, the self-service library terminal 10 transmits a patronstatus request over the communication link 72 to the data server 50. Ifthe status returned by the data server 50 to the self-service libraryterminal 10 indicates that the status of the library patron isacceptable, the microprocessor 60 determines at a point 304 whether thelibrary card is still on the cradle 14 by sampling the output of thereader 18. If the library card is not still on the library cradle 14,the scan line provided by the reader 18 is changed by the microprocessor62 to a short flashing scan line SF, the microprocessor 60 at a block306 provides a screen display SCR-11 indicating to the library patronthat the patron's library card has been improperly moved, and programflow proceeds to point B of FIG. 6. However, if the microprocessor 60determines that the library card of the library patron is still on thecradle 14 in the proper position, the microprocessor 60 determineswhether the library card carries a magnetic stripe. For example, themicroprocessor 60 may access the memory 62 for this information. If thepatron's library card has a magnetic stripe, program flow proceeds topoint A of FIG. 14 in order to ensure that the library card is removedbefore any security markers in circulating items are sensitized orde-sensitized. If the patron's library card has no magnetic stripe,program flow proceeds to point A of FIG. 29.

If the status returned by the data server 50 to the self-service libraryterminal 10 indicates that the status of the library patron is notacceptable, the microprocessor 60 determines if the library patron has aPIN. If the patron has a PIN, the microprocessor 60 at a point 307determines whether a bad-PIN counter R3 has accumulated a countexceeding a predetermined R3 threshold. If not, the microprocessor 60 ata block 308 provides a screen display SCR-14 indicating that the PINentered by the patron is not recognized by the library system, thebad-PIN counter R3 is incremented at a block 310, and program flowreturns to the point D of FIG. 6.

However, if the count accumulated by the bad-PIN counter R3 has exceededthe predetermined R3 threshold, then the microprocessor 60 at a block312 provides a screen display SCR-13 indicating that the library patronhas made too many attempts at entering a PIN number, and instructing thelibrary patron to remove the card. The microprocessor 60 at a block 314also determines that the library patron is suspicious and, accordingly,blocks the patron's library card. Thereafter, program flow returns topoint C of FIG. 6.

If the status returned to the self-service library terminal 10 indicatesthat the status of library patron is not acceptable, and if the patronhad no PIN, the microprocessor 60 at a block 316 provides the screendisplay SCR-12 indicating that the patron's ID is bad, and instructs thepatron to remove the patron's library card. Thereafter, program flowreturns to point C of FIG. 6.

When the flow chart of FIG. 8 is entered through point A, themicroprocessor 60 at a block 400 initializes all counters and, at ablock 402, provides a screen display, SCR-23 indicating that theself-service library terminal 10 is ready for the library patron topresent the magnetic stripe of the patron's library card to the magneticstripe reader 34. Thereafter, or if the flow chart of FIG. 8 is enteredthrough point B, the microprocessor 60 at a point 403 determines anappropriate action. For example, if a walkaway timer T9 times out(indicating no activity at the self-service library terminal 10 for apredetermined amount of time), program flow proceeds to point A of FIG.23 because the library patron may have walked away from the self-servicelibrary terminal 10 without further processing of the current loantransaction.

On the other hand, the microprocessor 60 may determine that an item hasbeen placed on the cradle 14 because one or both of the photoelectricsensors 20 and 22 is covered or a code is read by the reader 18. If so,the microprocessor 60 determines whether the count of the item-on-cradlecounter R9 has exceeded the predetermined R9 threshold. If not, themicroprocessor 60 at a block 404 provides the screen display SCR-10indicating that a circulating item or a library card has been placed onthe cradle 14 and that it should be removed. The microprocessor 60 alsoincrements the item-on-cradle counter R9 at a block 406, and programflow returns to the point 403.

If the microprocessor 60 determines that the count of the item-on-cradlecounter R9 has exceeded the predetermined R9 threshold, themicroprocessor 60 at a block 407 provides the screen display SCR-9indicating that an item has been placed on the cradle 14, that it shouldbe removed, and that the patron has exceeded the allowable number ofattempts to properly process the patron's library card through themagnetic stripe reader 34. If the patron removes the item before awalkaway-item-removed timer T16 times out, program flow proceeds throughpoint C of FIG. 8. However, if the patron does not remove the itembefore the walkaway-item-removed timer T16 times out, program flowproceeds to the walkaway routine of FIG. 23.

If the action determined at the point 403 is that the magnetic stripe ona patron's library card is read by the magnetic stripe reader 34, thenthe microprocessor 60 at a block 408 converts the magnetic stripe ID toa machine processable code and determines from the code whether thelibrary patron is a previously blocked patron (i.e., a library patronwhose card has been previously blocked) and whether a blocked patrontimer T12 has not expired. If the library patron is a previously blockedpatron and the blocked patron timer T12 has not expired, themicroprocessor 60 at a block 410 provides the screen display SCR-12indicating that the library patron is refused service at theself-service library terminal 10, and directs the library patron to goto the circulation desk of the library. Thereafter, program flow returnsto the welcome screen. If the library patron is a previously blockedpatron, or if the blocked patron timer T12 has expired, themicroprocessor 60 determines whether the patron has a PIN. If not,program flow proceeds to point A of FIG. 9. The blocked patron timer T12gives the patron the time to go to the circulation desk in order toresolve any problems with the patron's library card. Once the patron'sproblem has been resolved, the blocked patron timer T12 will haveexpired, and the patron will no longer be blocked.

On the other hand, if the microprocessor 60 determines that the patronhas a PIN, the microprocessor 60 executes the program represented by theflow chart shown in FIG. 13 which returns PIN ENTERED or NO PIN ENTERED,as appropriate. If PIN ENTERED is returned, program flow proceeds topoint A of FIG. 9. If NO PIN ENTERED is returned, then themicroprocessor 60 at a block 412 provides a screen display SCR-17informing the patron that the patron did not enter a PIN. Thereafter,program flow returns to the welcome screen.

If the microprocessor 60 is at the point 403, and if a maximum eventtimer T10 times out before (i) an item is placed on the cradle 14 or avideo is placed in the video slot 30, (ii) a magnetic card is read bythe magnetic stripe reader 34, and (iii) the patron begins a terminationsequence, then the microprocessor 60 determines whether the countaccumulated by the please counter R1 has exceeded the predetermined R1threshold. If so, program flow returns to the welcome screen. If not,the microprocessor 60 at a block 414 provides a screen display SCR-24instructing the patron to present the patron's library card to themagnetic stripe reader 34. Also, the microprocessor 60 at a block 416increments the count of the please counter R1, and program returns topoint 403 of FIG. 8.

If the library patron chooses to terminate the transaction, themicroprocessor executes the program represented by the flow chart ofFIG. 21, and program flow returns to the welcome screen.

When the flow chart of FIG. 9 is entered through point A, themicroprocessor 60 at a block 500 provides a screen display SCR-18 to thelibrary patron indicating that the self-service library terminal 10 isprocessing the patron's ID contained on the patron's library card. Themicroprocessor 60 at a block 502 also sends a request to the data server50 for the patron's status, and the data server 50 returns the patron'sstatus to the self-service library terminal 10. An unacceptable statusmay be returned if the magnetic stripe on the library card was notproperly read, or if the patron entered a bad PIN. If the microprocessor60 determines on the basis of the returned status that the status of thelibrary patron is acceptable, program flow proceeds to point A of FIG.29. On the other hand, if the status is not acceptable, themicroprocessor 60 determines whether the count accumulated by a bad-IDcounter R4 has exceeded a predetermined R4 threshold. If themicroprocessor 60 determines that the count accumulated by the bad-IDcounter R4 has exceeded the predetermined R4 threshold, themicroprocessor 60 at a block 504 provides the screen display SCR-16indicating that the library patron has a bad identification and has madetoo many attempts to enter the correct identification. Program flow thenreturns to point C of FIG. 8, and thereafter to the welcome screen.

However, if the microprocessor 60 determines that the count accumulatedby the bad-ID counter R4 has not exceeded the predetermined R4threshold, the microprocessor 60 at a block 506 provides a screendisplay SCR-15 indicating that the self-service library terminal 10cannot recognize the identification provided by the library patron andrequests the library patron to present the magnetic stripe on thepatron's library card to the magnetic stripe reader 34 again. Also, themicroprocessor 60 increments the count of the bad-ID counter R4 at ablock 508, and program returns to point B of FIG. 8.

When the flow chart of FIG. 10 is entered through point A, themicroprocessor 60 at a block 600 initializes counters and at a block 602provides a screen display SCR-22 indicating to the library patron thatthe self-service library terminal 10 is ready for the library patron toenter the patron's identification through use of the keypad 32. (Themicroprocessor 60 may cause an asterisk or other symbol to appear on thedisplay 28 as the patron enters each character of the patron'sidentification.) Thereafter, or if the flow chart of FIG. 10 is enteredthrough point B, the microprocessor 60 determines an appropriate actionat a point 603. For example, if a walkaway timer T14 has timed outbefore the patron takes action at this point, program flow proceeds toFIG. 23 because the microprocessor 60 assumes that the library patronhas walked away from the self-service library terminal 10 withoutcompleting a transaction.

On the other hand, if a circulating item is placed on the cradle 14 or avideo is placed in the video slot 30, the microprocessor 60 determineswhether the item-on-cradle counter R9 has accumulated a count greaterthan the predetermined R9 threshold. If not, the microprocessor 60 at ablock 604 provides the screen display SCR-10 indicating that the patronhas incorrectly placed an item on the cradle 14 or in the video slot 30and instructs the patron to remove the item. Also, the microprocessor 60increments the item-on-cradle counter R9 at a block 606. If theitem-on-cradle counter R9 has accumulated a count greater than thepredetermined R9 threshold, the microprocessor 60 at a block 608provides the screen display SCR-9 indicating that a circulating item isplaced on the cradle and instructing the patron to remove thecirculating item. If the patron removes the item before awalkaway-item-removed timer T16 times out, program flow proceeds throughpoint C of FIG. 10. However, if the patron does not remove the itembefore the walkaway-item-removed timer T16 times out, program flowproceeds to the walkaway routine of FIG. 23.

If the microprocessor 60 determines that the library patron has enteredan identification number through the use of the keypad 32 followed bythe # or * sign, the microprocessor 60 converts the identificationnumber to the patron's ID and determines whether the patron is apreviously blocked patron. The microprocessor 60 also determines if ablocked patron timer T17 has timed out. If the patron is a previouslyblocked patron and if the blocked patron timer T17 has not timed out,the microprocessor 60 at a block 609 provides the screen display SCR-12indicating that is the patron's loan transaction is being refused andinstructing the patron to go to the circulation desk for furtherprocessing. Thereafter, flow returns to the welcome screen.

If the patron is not a previously blocked patron, or if the blockedpatron timer T17 has timed out, the microprocessor 60 determines whetherthe library patron has a PIN number in the memory 62. If not, flowproceeds to point A of FIG. 11. If so, the microprocessor 60 executesthe program represented by the flow chart of FIG. 13 which returnseither PIN ENTERED or NO PIN ENTERED. If PIN ENTERED is returned,program flow proceeds to point A of FIG. 11. If NO PIN ENTERED isreturned, then the microprocessor 60 at a block 610 provides the screendisplay SCR-17 indicating that the patron has not entered a PIN number,and program flow then returns to the welcome screen.

If a maximum event timer T15 times out before (i) an item is placed onthe cradle 14 or in the video slot 30, (ii) the patron presses the #or * key, and (iii) the patron initiates a termination sequence, themicroprocessor 60 at a point 611 determines whether the count of theplease counter R1 has exceeded the predetermined R1 threshold. If thecount of the please counter R1 has exceeded the predetermined R1threshold, program flow returns to the welcome screen. On the otherhand, if the count of the please counter R1 has not exceeded thepredetermined R1 threshold, the microprocessor 60 at a block 612provides a screen display SCR-19 instructing the library patron to enterthe patron's ID. Also, the microprocessor 60 at a block 614 incrementsthe please counter R1. Thereafter, flow returns to point 603 of FIG. 10.

Finally, if the patron presses the # or * key without pressing any otherkey, program flow proceeds to point 611, and if the library patronelects to terminate the current transaction, the microprocessor executesthe program represented by the flow chart of FIG. 21, and program flowreturns to the welcome screen.

When the flow chart of FIG. 11 is entered through point A, themicroprocessor 60 at a block 700 provides the screen display SCR-18 tothe library patron informing the library patron that the self-servicelibrary terminal 10 is checking the patron's identification. Themicroprocessor 60 at a block 702 sends a request to the data server 50for the patron's status which is returned to the self-service libraryterminal 10. (The status of a patron may be unacceptable if, forexample, the patron entered an incorrect PIN.) If the microprocessor 60determines from this returned status that the library patron's status isacceptable, program flow proceeds to point A of FIG. 29. On the otherhand, if the status of the library patron returned to the self-servicelibrary terminal 10 is not acceptable, the microprocessor 60 determinesif the count accumulated by the bad-ID counter R4 has exceeded thepredetermined R4 threshold. If the count accumulated by the bad-IDcounter R4 has exceeded the predetermined R4 threshold, themicroprocessor 60 at a block 704 provides a screen display SCR-20informing the library patron that the patron's ID is bad and that thelibrary patron has exceeded the allowable number of attempts to enterthe correct ID. Thereafter, flow returns to point C of FIG. 10. On theother hand, if the count accumulated by the bad-ID counter R4 has notexceeded the predetermined R4 threshold, the microprocessor 60 at ablock 706 provides a screen display SCR-21 informing the library patronthat the patron's ID is not recognized and instructing the patron toretry entering the patron's ID. Thereafter, the microprocessor 60 at ablock 708 increments the bad-ID counter R4, and program flow returns topoint B of FIG. 10.

When the flow chart of FIG. 12 is entered from FIG. 6, themicroprocessor 60 at a block 800 provides a screen display SCR-27instructing the library patron to enter the library patron's PIN number.The microprocessor 60 skips the block 800 if the count accumulated bythe bad-PIN counter R3 is greater than zero. Thereafter, themicroprocessor 60 determines whether the library patron has removed thepatron's library card from the cradle 14. If the patron's library cardhas been removed, CARD REMOVED is returned to FIG. 6. If the patron'slibrary card has not been removed, the microprocessor 60 performs a loopas shown in FIG. 12 as each character of the patron's PIN is entereduntil the patron presses the # or * key on the keypad 32. When the #or * key is pressed, PIN ENTERED is returned to FIG. 6. If the # or *key is pressed before the first character of the patron's PIN isentered, the microprocessor 60 at a block 802 provides a screen displaySCR-25 instructing the user to enter the PIN number. Also, themicroprocessor 60 increments the count of the please counter R5 at ablock 804 and another pass is made through the loop. Similarly, if themaximum event timer T18 times out before the patron presses the # or *key, and if the count accumulated by the please counter R5 has notexceeded a predetermined R5 threshold, the microprocessor 60 providesthe screen display SCR-25 and increments the count of the please counterR5, and another pass is made through the loop. If the maximum eventtimer T18 times out before the patron presses the # or * key, and if thecount accumulated by the please counter R5 exceeds the predetermined R5threshold, NO PIN ENTERED is returned to FIG. 6.

When the flow chart of FIG. 13 is entered from FIG. 8 or FIG. 10, themicroprocessor 60 at a block 900 provides the screen display SCR-27instructing the library patron to enter the library patron's PIN number.The microprocessor 60 skips the block 900 if the count accumulated bythe bad-PIN counter R3 is greater than zero. The microprocessor 60performs a loop as shown in FIG. 13 as each character of the patron'sPIN is entered, until the patron presses the # or * key on the keypad32. When the # or * key is pressed, PIN ENTERED is returned to FIG. 8 orFIG. 10. If the # or * key is pressed before the first character of thepatron's PIN is entered, the microprocessor 60 at a block 902 providesthe screen display SCR-25 instructing the user to enter the PIN number.Also, the microprocessor 60 increments the count of the please counterR5 at a block 904 and another pass is made through the loop. Similarly,if a maximum event timer T19 times out before the patron presses the #or * key, and if the count accumulated by the please counter R5 has notexceeded the predetermined R5 threshold, the microprocessor 60 providesthe screen display SCR-25 and increments the count of the please counterR5, and another pass is made through the loop. If the maximum eventtimer T19 times out before the patron presses the # or * key times out,and if the count accumulated by the please counter R5 exceeds thepredetermined R5 threshold, NO PIN ENTERED is returned to FIG. 8 or FIG.10.

When the flow chart of FIG. 14 is entered through point A from theroutine shown in FIG. 7, the microprocessor 60 at a block 1000 providesa screen display SCR-30 to the patron instructing the patron to removethe patron's library card. Accordingly, the magnetic stripe on thepatron's library card will not be demagnetized when the security markerin the circulating item being checked out is desensitized or when thesecurity marker in the circulating item being checked in is sensitized.Thereafter, the microprocessor 60 determines an appropriate action at apoint 1001. For example, if a sensor, such as the idle indicator 16, thephotoelectric sensor 20, the photoelectric sensor 22, and/or the like,determines that the patron has taken an action other than removing thepatron's library card, the microprocessor 60 at a block 1002 provides ascreen display SCR-58 instructing the library patron to remove thelibrary card in order to continue with the transaction. Thereafter, theprogram flow returns to the point 1001. If the microprocessor 60determines that the card has been removed, program flow proceeds topoint A of FIG. 29. If a walkaway timer T20 times out before the card isremoved and the microprocessor 60 determines no change of state of anyof the sensors, program flow proceeds to the walkaway routine of FIG.22.

The flow chart of FIG. 15 is entered through point A, point B, point C,point D, or point B. When the flow chart of FIG. 15 is entered throughpoint A from FIG. 29, the microprocessor 60 controls the scan lineprojected on to the cradle 14 by the reader 18 as a long flashing (LF)scan line, and the microprocessor 60 at a block 1102 provides a screendisplay SCR-31 instructing the library patron to place a circulatingitem in an appropriate item receiving area. Thereafter, themicroprocessor 60 at a point 1103 determines an appropriate action. Forexample, if the patron's library card is removed from the cradle 14before a circulating item is placed on the cradle 14, the microprocessor60 determines whether a first circulating item has already beenprocessed during the current loan transaction. If a first circulatingitem is yet to be processed during the current loan transaction, themicroprocessor 60 at a block 1104 provides a screen display SCR-11indicating that the card has been removed. (If the patron entered thepatron's ID through use of the reader 18, the patron's library card mustremain on the cradle 14 throughout the loan transaction.) Thereafter,program flow returns to point B of FIG. 6 in order to lead the patronback through the identification process. If patron's library card isremoved but a first circulating item has already been processed, programflow proceeds to FIG. 21.

If a walkaway timer T21 has timed out before the patron takes any actionat the point 1103, program flow proceeds to FIG. 22 or FIG. 23, asappropriate. If the action determined by the microprocessor 60 is thatthe library patron desires to terminate the current transaction, themicroprocessor 60 executes the program represented by the flow chart ofFIG. 21.

If the action determined by the microprocessor 60 is that a videocassette has been inserted into the video slot 30 of the self-servicelibrary terminal 10, program flow proceeds to point A of FIG. 19.

If the action determined by the microprocessor 60 is that both of thephotoelectric sensors 20 and 22 are covered, the microprocessor 60determines whether an item identifier is being read by the reader 18from a circulating item, and whether the item identifier being read isnot a patron ID. If an item identifier is being read by the reader 18from a circulating article, and if the item identifier being read is nota patron ID, the microprocessor 60 determines whether a code-type check(inspection) is enabled and, if so, whether the item identifier beingread by the reader 18 is of an incorrect type (i.e., a type which isdifferent from the item identifier used on circulating items meant to beprocessed on the cradle 14). For example, the patron may have placed acorrect circulating item on the cradle 14 but in such a position thatthe reader 18 is reading a code other than the item identifier. If thecode-type check is not enabled, or if the reader 18 is reading an itemidentifier used on circulating items meant to be processed on the cradle14, the microprocessor 60 determines whether the item identifier read bythe reader 18 has been previously processed during the patron's currenttransaction. If the item identifier read by the reader 18 has not beenpreviously processed during the patron's current transaction, the scanline projected by the reader 18 is controlled so that it is long andsteady (LS), and program flow proceeds to point A of FIG. 16 in order toproceed with the checkout of the circulating item that is currently onthe cradle 14.

On the other hand, if the item identifier read by the reader 18 has beenpreviously processed during the patron's current transaction, themicroprocessor 60 determines whether the item identifier currently beingprocessed is on a failed or canceled list. If the item identifiercurrently being processed is not on a failed or canceled list, themicroprocessor 60 provides a screen display SCR-38 at a block 1106indicating that the item has already been processed. Also, a happy tone(indicated by the smiley face) is provided to the library patron.Thereafter, the microprocessor 60 changes the scan line projected by thereader 18 to a long and flashing (LF) scan line. If the patron does notacknowledge that the item has already been processed before awalkaway-item-removed timer T24 times out, the walkaway routine of FIG.22 is entered. If the patron does acknowledge that the item has alreadybeen processed before the walkaway-item-removed timer T24 times out,program flow proceeds to a block 1108 where a screen display SCR-75 isprovided indicating that the self-service library terminal 10 is readyfor the next circulating item to be checked out by the library patron,and a reposition counter R6 is reset at a block 1110. The microprocessor60 is then ready to determine another appropriate action.

If the item identifier currently being processed is on a failed orcanceled list, the microprocessor 60 provides a screen display SCR-64 ata block 1112 instructing the library patron to take the circulating itemto the circulation desk. Thereafter, the microprocessor 60 sets the scanline projected by the reader 18 to long and flashing and, if thewalkaway-item-removed timer T24 has not timed out, provides the screendisplay SCR-75, and resets the reposition counter R6. The microprocessor60 is then ready to determine another appropriate action.

If the code-type check is enabled, and if the reader 18 is reading anitem identifier used on circulating items meant to be processed on thecradle 14, the microprocessor 60 determines whether awrong-identification counter R10 has accumulated a count that exceeds apredetermined R10 threshold. If the wrong-identification counter R10 hasnot accumulated a count that exceeds the predetermined R10 threshold,the microprocessor 60 provides a screen display SCR-37 at a block 1114indicating that the library patron is using the wrong bar code, themicroprocessor 60 at a block 1116 increments the wrong-identificationcounter R10, and program flow returns to point 1103 of the routine shownin FIG. 15. If the wrong-identification counter R10 has accumulated acount which exceeds the predetermined R10 threshold, the microprocessor60 provides the screen display SCR-37 at a block 1118 indicating thatthe library patron is using the wrong identification under the reader18. Thereafter, the microprocessor 60 sets the scan line projected bythe reader IS to long and flashing and, if the walkaway-item-removedtimer T24 has not timed out, provides the screen display SCR-75, andresets the reposition counter R6.

If both of the photoelectric sensors 20 and 22 are covered, and if amaximum event timer T23 times out before the reader 18 reads an itemidentifier on a circulating item, the microprocessor 60 at a point 1119determines whether the reposition counter R6 has accumulated a countgreater than a predetermined R6 threshold. If the reposition counter R6has not accumulated a count greater than the predetermined R6 threshold,the microprocessor 60 at a block 1120 provides a screen display SCR-36indicating that the reader 18 cannot read the item identifier anddirecting the patron to reposition the circulating item on the cradle14. Also, the microprocessor 60 at a block 1122 increments thereposition counter R6, and program flow proceeds to the point 1103.

If the count accumulated by the reposition counter R6 exceeds thepredetermined R6 threshold, the microprocessor 60 at a block 1124provides a screen display SCR-35 indicating that the reader 18 cannotread the bar code on the circulating item and to take the circulatingitem to the circulation desk for processing by a member of the librarystaff. Thereafter, the microprocessor 60 sets the scan line projected bythe reader 18 to long and flashing. Assuming is that thewalkaway-item-removed timer T24 does not time out, program flow proceedsto the block 1108.

If the action determined by the microprocessor 60 at the point 1103 isthat the idle indicator 16 is not read (indicating that a circulatingitem may be on the cradle 14 and covering the idle indicator 16), andthat neither of the photoelectric sensors 20 and 22 is covered, themicroprocessor 60 proceeds to the point 1119 and follows the flowthrough the blocks 1120 and 1122, or the block 1124, as described above.

If the action determined by the microprocessor 60 at the point 1103 isthat an item identifier is read by the reader 18, that theidentification read by the reader 18 is not a patron's ID, that both ofthe photoelectric sensors 20 and 22 are not covered, and a maximum eventtimer T22 has accumulated a predetermined amount of time, themicroprocessor 60 at a point 1125 determines whether the repositioncounter R6 has accumulated a count greater than the predetermined R6threshold. If the reposition counter R6 has not accumulated a countgreater than the predetermined R6 threshold, the microprocessor 60 at ablock 1126 provides a screen display SCR-32 indicating that the patronshould push the circulating item against the back wall 26. Also, themicroprocessor 60 at a block 1128 increments the reposition counter R6,and program flow proceeds to the point 1103.

If the count accumulated by the reposition counter R6 exceeds thepredetermined R6 threshold, the microprocessor 60 at a block 1129provides a screen display SCR-34 indicating that the position of thecirculating item on the cradle 14 is incorrect and directing the patronto ask for help. Thereafter, the microprocessor 60 sets the scan lineprojected by the reader 18 to long and flashing. Assuming that thewalkaway-item-removed timer T24 does not time out, program flow proceedsto the block 1108.

If the microprocessor 60 is at the point 1103, and if a maximum eventtimer T11 times out before (i) the patron's library card is removed fromthe cradle 14, (ii) the patron initiates a termination sequence, (iii) avideo cassette has been inserted into the video slot 30 of theself-service library terminal 10, (iv) both of the photoelectric sensors20 and 22 are covered, (v) the idle indication is not read and neitherof the photoelectric sensors 20 and 22 is covered, and (vi) an itemidentifier is read by the reader 18, the identification read by thereader 18 is not a patron's ID, both of the photoelectric sensors 20 and22 are not covered, and the maximum event timer T22 has timed out, themicroprocessor 60 at a block 1130 provides a screen display SCR-33directing the patron to place a book, a CD, or a video in theappropriate circulating item receiving area, and program flow proceedsto the point 1103.

The routine shown in FIG. 16 is entered from FIG. 15. When the routineshown in FIG. 16 is entered, the microprocessor 60 at a block 1200provides a screen display SCR-43 indicating that a book/CD is beingchecked out by the self-service library terminal 10, or a screen displaySCR-44 indicating that a video is being checked out by the self-servicelibrary terminal 10. Thereafter, the microprocessor 60 at a block 1202enables multiple book detection (so that this function begins running)and, at a block 1204, enters the multiple book detection routine shownin FIG. 17. Assuming that the routine shown in FIG. 17 returns to theroutine shown in FIG. 16, the microprocessor 60 at a block 1206 sends acheckout request to the data server 50 of the library. If the dataserver 50 determines that checkout is successful, the microprocessor 60at a point 1207 determines whether a video is on the cradle 14. If avideo is not on the cradle 14, program flow proceeds to point A of FIG.18 in order to execute final checkout processing.

However, if a video is on the cradle 14, then the microprocessor 60determines whether a Magnetic Media on Cradle option is enabled. (Alibrary may decide to allow a patron to check out videos from the cradle14.) If so, program flow proceeds to point A of FIG. 18. If the librarydecides not to allow a patron to check out videos from the cradle 14,the microprocessor 60 determines whether a VCU (video check out unit) isavailable. For example, the microprocessor 60 determines whether theself-service library terminal 10 is equipped with the video slot 30 anda video identification reader in order to process video checkouts. If aVCU is not available, program flow proceeds to point A of FIG. 20 inorder to undo all of the checkout processing executed thus far, and atake-video-to-desk flag is set. If a VCU is available, then program flowproceeds to point A of FIG. 20, and a video-on-cradle flag is set.

If the checkout is not successful, the microprocessor 60 determineswhether the patron must pay a charge in order to check out theparticular circulating item being processed. If a charge for thiscirculating item is not required, the microprocessor 60 at a block 1208provides a screen display SCR-46 indicating that the checkout has failedand provides the specific reason why the checkout failed. Thereafter,program flow proceeds to point C of FIG. 15.

If a charge for this circulating item is required, the microprocessor 60determines whether the self-service library terminal 10 is enabled toprocess chargeable loans. If the self-service library terminal 10 is notenabled to process chargeable loans, the microprocessor 60 at a block1210 provides a screen display SCR-49 indicating that the checkout hasfailed and further indicates that the particular item being checked outis a chargeable item. Thereafter, flow proceeds to point C of FIG. 15.

If the self-service library terminal 10 is enabled to process chargeableloan, the microprocessor 60 at a block 1212 provides a screen displaySCR-45 indicating that the circulating item is a chargeable item andasking the patron if the patron agrees to the charge. The microprocessor60 also initializes a please-answer counter R7 at a block 1214.Thereafter, the microprocessor 60 at a point 1215 determines whether thepatron agrees to the charge. If the patron agrees to the charge (bypressing the # key on the keypad 32), program flow proceeds to the point1207. If the patron does not agrees to the charge (by pressing the * keyon the keypad 32), the microprocessor 60 at a block 1216 provides eithera screen display SCR-47 instructing the patron to remove the book or CDfrom the cradle 14, or a screen display SCR-48 instructing the patron toremove the video from the video slot 30, as appropriate. Thereafter,program flow returns to point C of FIG. 15.

If the patron at the point 1215 presses a key other than the # or * keyon the keypad 32, the microprocessor 60 at a block 1218 increments theplease-answer counter R7, and the microprocessor 60 at a block 1220provides a screen display SCR-59 reminding the patron that the loan is achargeable loan. Thereafter, program flow returns to the point 1215. Ifthe patron at the point 1215 does not press any key before a maximumevent time T25 times out, the microprocessor 60 determines whether thecount accumulated by the please-answer counter R7 has exceeded apredetermined R7 threshold. If the count accumulated by theplease-answer counter R7 has exceeded the predetermined R7 threshold,program flow proceeds to the block 1216. If the count accumulated by theplease-answer counter R7 has not exceeded the predetermined R7threshold, program flow proceeds to the block 1218.

The multiple book detection processing indicated at the block 1204 inFIG. 16 is shown in FIG. 17. When the routine of FIG. 17 is entered, themicroprocessor 60 first determines whether the circulating item beingchecked out is a video. If the circulating item is a video, thenexecution of the processing shown in FIG. 17 is inappropriate and flowreturns to the block from which the routine shown in FIG. 17 wasentered.

If the circulating item is not a video, the microprocessor 60 determineswhether the multiple book detection (MBD) option has been enabled, suchas by the library staff. If the multiple book detection option has notbeen enabled (so that the block 1202 has no practical effect), themicroprocessor 60 at a point 1300 determines whether the photoelectricsensors 20 and 22 are uncovered. If the photoelectric sensors 20 and 22are covered, program flow returns to the block from which the routineshown in FIG. 17 was entered. On the other hand, if the photoelectricsensors 20 and 22 are uncovered (for example, the patron using theself-service library terminal 10 may have started the checkout processwith a book that can be checked out and thereafter substituted a bookthat cannot be checked out), the microprocessor 60 at a block 1301increments a suspicious-patron counter R8. The microprocessor 60 thendetermines whether the count accumulated by the suspicious-patroncounter R8 is in excess of a predetermined R8 threshold. If the countaccumulated by the suspicious-patron counter R8 is not in excess of thepredetermined R8 threshold, program flow proceeds to point A of FIG. 20and an item-moved flag is set. If the count accumulated by thesuspicious-patron counter R8 is in excess of the predetermined R8threshold, program flow proceeds through a point 1302 where themicroprocessor 60 at a block 1303 disables the patron's ID if thelibrary has elected the blocked card option. After the patron's librarycard has been blocked at the block 1303, or if the blocked card optionis not elected, program flow proceeds to point A of FIG. 20 and asuspicious-patron flag is set.

If multiple book detection has been enabled, the microprocessor 60determines whether multiple books and/or CD's are detected on the cradle14. If multiple books and/or CD's are not detected on the cradle 14,program flow proceeds to the point 1300. On the other hand, if multiplebooks and/or CD's are detected on the cradle 14, the microprocessor 60at a block 1304 increments the suspicious-patron counter R8 and thendetermines whether the count accumulated by the suspicious-patroncounter R8 is in excess of the predetermined R8 threshold. If the countaccumulated by the suspicious-patron counter R8 is in excess of thepredetermined R8 threshold, program flow proceeds to point 1302. If thecount accumulated by the suspicious-patron counter R8 is not in excessof the predetermined R8 threshold, program flow proceeds to point A ofFIG. 20 and a one-at-a-time flag is set.

The routine shown in FIG. 18 is entered from the routine shown in FIG.16. When the routine shown in FIG. 18 is entered, the microprocessor 60determines whether the circulating item being processed is a chargeableitem. If the item is a chargeable item, the microprocessor 60 at a block1400 then executes the routine shown in FIG. 17 and, assuming a returnfrom FIG. 17 to FIG. 18, the microprocessor 60 at a block 1402 sends apatron check-out request to the data server 50 of the library. If thecheck-out is not authorized by the data server 50 (for example, thelibrary patron has overdue fines and/or other monies owing and pastdue), the microprocessor 60 at a block 1404 provides a screen displaySCR-50 indicating that checkout has failed and provides the specificreason for checkout failure, and then program flow proceeds to point Cof FIG. 15.

If the loan is not a chargeable loan, or if the checkout authorizationis given, the microprocessor 60 at a block 1406 executes the multiplebook detection routine shown in FIG. 17. Assuming that the multiple bookdetection routine of FIG. 17 returns to FIG. 18, the microprocessor 60at a block 1407 energizes the sensitizer/desensitizer 24 in order todesense the security marker in the circulating item currently beingchecked out. On the other hand, the block 1407 is bypassed if thedesensitization function is disabled or if the loan transaction is arenewal. Thereafter, the microprocessor 60 disables multiple bookdetection at a block 1408, saves the item identifier of the circulatingitem being checked out at a block 1410, and at a block 1412 provides ascreen display SCR-51 indicating that the loan of a book or CD has beenconfirmed or a screen display SCR-52 indicating that the loan of a videohas been confirmed. Each of these screens displays also instructs thelibrary patron to remove the book or CD from the cradle 14, or the videoslot 30, as appropriate. Alternatively, the microprocessor 60 at theblock 1412 provides a screen display SCR-60 indicating that a renewal ofa book or CD has been confirmed, or a screen display SCR-61 indicatingthat a renewal of a video has been confirmed, as appropriate. Each ofthese screens displays also instructs the library patron to remove thebook or CD from the cradle 14, or the video slot 30, and also instructsthe library patron to place the next item on the cradle 14 or in thevideo slot 30, as appropriate.

Thereafter, the microprocessor 60 at a block 1413 controls the printer70 to print a receipt at this time, unless print buffering is enabled inwhich case the loan transaction is buffered in the memory 62.Thereafter, the microprocessor 60 at a point 1414 determines anappropriate action. For example, if a maximum event timer T27 times outbefore the current book or CD is removed from the cradle 14 or thecurrent video is removed from the video slot 30, the microprocessor 60at a block 1415 provides either a screen display SCR-90 directing thepatron to remove the book or CD from the cradle 14 or a screen displaySCR-91 directing the patron to remove the video from the video slot 30,as appropriate. Thereafter, once the item is removed, program flowproceeds to point E of FIG. 15 unless a walkaway-item-removed timer T26first times out before the circulating item is removed, in which caseprogram flow proceeds to either FIG. 22 or FIG. 23, as appropriate. Ifthe microprocessor 60 determines that the book or CD has been removedfrom the cradle 14 or that the video has been removed from the videoslot 30, as appropriate, program flow proceeds to point B of FIG. 15. Ifthe microprocessor 60 determines that a new book has been placed on thecradle 14 or a new video has been placed in the video slot 30 before thecurrent book or CD is removed from the cradle 14 or before the currentvideo is removed from the video slot 30, the microprocessor 60 at ablock 1416 provides either a screen display SCR-77 requesting thelibrary patron to first remove the current book or CD from the cradle 14or a screen display SCR-78 requesting the library patron to first removethe current video from the video slot 30, as appropriate. Thereafter,program flow returns to the point 1414 unless all items are removedbefore a walkaway-item-removed timer T29 times out, in which caseprogram flow proceeds to either FIG. 22 or FIG. 23, as appropriate.

The routine shown in FIG. 19 is entered from the routine shown in FIG.15. When the routine shown in FIG. 19 is entered, the microprocessor 60determines an appropriate action. For example, if a video is pulled outof the video slot 30, program flow proceeds to point B of FIG. 15 wherethe library patron is informed that the self-service library terminal 10is ready to process the next item.

If the microprocessor 60 determines that a video has been fully insertedinto the video slot 30, the microprocessor 60 at a point 1500 determineswhether an item identifier is read from the video in the video slot 30.If an item identifier is read from the video in the video slot 30, themicroprocessor 60 determines whether the item identifier has alreadybeen processed. If the item identifier has not already been processed,program flow proceeds to point A of FIG. 16. If the item identifier hasalready been processed, the microprocessor 60 determines whether theitem identifier is on a list of canceled or failed item identifiers. Ifthe item identifier is on this list, the microprocessor 60 at a block1501 provides a screen display SCR-63 directing the patron to take thevideo to the circulation desk. Thereafter, program flow proceeds topoint C of FIG. 15. If the item identifier is not on the canceled orfailed list, the microprocessor 60 at a block 1502 provides a screendisplay SCR-40 indicating that the video has already been checked out.Thereafter, program flow proceeds to point C of FIG. 15.

If a maximum event timer T31 times out before an item identifier is readfrom the video fully inserted into the video slot 30, the microprocessor60 determines whether the count of the reposition counter R6 hasexceeded the predetermined R6 threshold. If the count accumulated by thereposition counter R6 is greater than the predetermined R6 threshold,the microprocessor 60 at a block 1504 provides a screen display SCR-39informing the patron that the self-service library terminal 10 cannotread the item identifier from the video and to take the video to thecirculation desk. Thereafter, program flow proceeds to point C of FIG.12. On the other hand, if the count accumulated by the repositioncounter R6 is less than the predetermined R6 threshold, themicroprocessor 60 at a block 1506 provides a screen display SCR-85directing the patron to reposition the video in the video slot 30. Themicroprocessor 60 also increments the count of the reposition counter R6at a block 1508, and program flow then proceeds to point D of FIG. 15.

If a maximum event timer T30 times out before the video is pulled out ofthe video slot 30 or before the video is fully inserted into the videoslot 30, the microprocessor 60 at a block 1510 provides a screen displaySCR-42 instructing the patron to fully insert the video into the videoslot 30. Thereafter, the microprocessor 60 functions in one or threeways. First, if the video is fully inserted into the video slot 30,program flow proceeds to the point 1500. Second, if a maximum eventtimer T32 times out before the video is pulled out of the video slot 30or before the video is fully inserted into the video slot 30, themicroprocessor 60 at a block 1512 provides a screen display SCR-41indicating that the patron should take the video out of the video slot30 and to try reinserting the video into the video slot 30. Thereafter,program flow proceeds to point C of FIG. 15. Third, if themicroprocessor 60 determines that the video has been pulled out of thevideo slot 30 before its item identifier has been read, program flowproceeds to point E of FIG. 15.

The routine shown in FIG. 20 is entered from the routine shown in FIG.16 or the routine shown in FIG. 17, as appropriate. When the routineshown in FIG. 20 is entered, the microprocessor 60 at a block 1600 sendsa check-in request to the data server 50. If check-in is authorized bythe data server 50, the microprocessor 60 determines the reason for thecheckin. These reasons depend upon which flags were set as a result ofprocessing by the routines of FIGS. 16 and 17.

For example, if the take-item-to-desk flag is set, the microprocessor 60at a block 1602 provides the screen display SCR-46 directing the patronto take the circulating item (the book or CD) to the circulation desk.Thereafter, program flow proceeds to point C of FIG. 15.

On the other hand, if the take-video-to-desk flag is set, themicroprocessor 60 at a block 1604 provides a screen display SCR-62directing the patron to take the video to the circulation desk, andprogram flow thereafter proceeds to point C of FIG. 15.

If the video-on-cradle flag is set, the microprocessor 60 at a block1606 provides a screen display SCR-54 directing the patron to put thevideo in the video slot 30. Thereafter, program flow proceeds to point Cof FIG. 15.

If the one-at-a-time flag is set, the microprocessor 60 at a block 1608provides the screen display SCR-89 directing the library patron to tryagain checking out items one at a time and, if the library patron hadbeen trying to check out items one at a time, to take the item to thecirculation desk for further processing. Thereafter, program flowproceeds to point C of FIG. 15.

If the item-moved flag is set, the microprocessor 60 at a block 1610provides a screen display SCR-79 informing the library patron that theitem has been moved. Thereafter, processing proceeds to point B of FIG.15.

If the suspicious-patron flag is set, the microprocessor 60 at a block1612 provides a screen display SCR-56 directing the library patron totake all circulating items to the circulation desk and to pick up thepatron's library card. Thereafter, if a walkaway-item-removed timer T34times out before the patron picks up the patron's library card from theself-service library terminal 10, program flow proceeds to a walkawayroutine similar to the routines shown in FIGS. 22 and 23. On the otherhand, if the patron picks up the patron's library card from theself-service library terminal 10 before the walkaway-item-removed timerT34 times out, the microprocessor 60 at a block 1614 causes the printer70 to print a receipt, unless the printer 70 has a problem, and themicroprocessor 60 at a block 1616 provides a screen display SCR-29directing the library patron to take the receipt from the printer slot36. However, if the printing of receipts is disabled, program flowbypasses the blocks 1614 and 1616. Thereafter, program flow returns tothe welcome screen.

If checkin is not authorized by the data server 50, the microprocessor60 at a block 1618 adds the circulating item to the canceled or failedlist, and program flow proceeds to the block 1602.

The terminate session routine is entered from FIGS. 8, 10, and 15 and isshown in FIG. 21. This routine is entered when a library card is removedor the terminate session key sequence has been pressed. Upon thoseoccurrences, the microprocessor 60 at a block 1700 causes the printer 70to print a receipt (unless the printer 70 has a problem, in which casethe routine of FIG. 28 is executed), and at a block 1702 provides thescreen display SCR-29 directing the patron to take the receipt from theprinter slot 36. If the printing of receipts is disabled, the blocks1700 and 1702 are bypassed. Thereafter, program flow returns to thewelcome screen.

When the routine shown in FIG. 22 is entered, the microprocessor 60 hasdetermined that an appropriate walkaway timer has expired. Themicroprocessor 60 determines whether the current transaction is acheck-in transaction. If the current transaction is a check-intransaction, the microprocessor 60 at a block 1800 instructs the printer70 to print a receipt indicating the end of the session, and thendetermines whether items are on the cradle 14 or in the video slot 30.If items are not on the cradle 14 or in the video slot 30, program flowreturns to the welcome screen. On the other hand, if items are on thecradle 14 or in the video slot 30, the microprocessor 60 at a block 1802provides a screen display SCR-26 instructing any patron at orapproaching the self-service library terminal 10 that the self-servicelibrary terminal 10 is in a walk-away condition and requesting that theself-service library terminal 10 be cleared. The microprocessor 60flashes the screen display SCR-26 every thirty seconds and repeats awalk-away tone three times, as indicated by the light bulb symbol.(Accordingly, this walk-away tone indicates that the self-servicelibrary terminal 10 requires attention or servicing.) Thereafter, themicroprocessor 60 determines whether a patron's library card is on theself-service library terminal 10 or whether there is a circulating itemon the cradle 14 or in the video slot 30. If a patron's library card ison the self-service library terminal 10, or if there is a circulatingitem on the cradle 14 or in the video slot 30, the self-service libraryterminal 10 waits in this state. If a patron's library card is not onthe self-service library terminal 10, or if there is no circulating itemon the cradle 14 or in the video slot 30, program flow returns to thewelcome screen.

If the current transaction is not a checkin transaction, themicroprocessor 60 at a block 1804 disables the patron's library card (ifthe library has chosen this option and if the microprocessor 60determines that a library card was read) so that it is blocked andcannot be used again. The microprocessor 60 at a block 1806 thenprovides the screen display SCR-26 indicating that the self-servicelibrary terminal 10 is in a walk-away condition and requesting that theself-service library terminal 10 be cleared. The microprocessor 60flashes the screen display SCR-26 every thirty seconds and repeats awalk-away tone three times, as indicated by the light bulb symbol.(Accordingly, this walk-away tone indicates that the self-servicelibrary terminal 10 requires attention or servicing.) Thereafter, themicroprocessor 60 determines whether a patron's library card is on theself-service library terminal 10 or whether there is a circulating itemon the cradle 14 or in the video slot 30. If a patron's library card ison the self-service library terminal 10, or if there is a circulatingitem on the cradle 14 or in the video slot 30, the self-service libraryterminal 10 waits in this state If a patron's library card is not on theself-service library terminal 10, or if there is a circulating item onthe cradle 14 or in the video slot 30, program flow returns to thewelcome screen.

When the routine shown in FIG. 23 is entered, the microprocessor 60 hasdetermined that a walkaway timer expired and, at a block 1900, turns offthe reader 18 so that no scan line is projected into the cradle 14. Themicroprocessor 60 then determines whether there are circulating items onthe cradle 14 or in the video slot 30. If circulating items are not onthe cradle 14 or in the video slot 30, program flow returns to thewelcome screen. On the other hand, if there are circulating items on thecradle 14 or in the video slot 30, the microprocessor 60 at a block 1902provides the screen display SCR-26 indicating that the self-servicelibrary terminal 10 is in a walk-away condition and requesting that theself-service library terminal 10 be cleared. Thereafter, themicroprocessor 60 determines whether there are still circulating itemson the cradle 14 or in the video slot 30. If circulating items are stillon the cradle 14 or in the video slot 30, the microprocessor 60 remainsin this state until the circulating items are removed. Also, themicroprocessor 60 repeats the walk-away tone three times and flashes thewalk-away screen display SCR-26 every thirty seconds. If circulatingitems are not on the cradle 14 or in the video slot 30, program flowreturns to the welcome screen.

The routine shown in FIG. 24 is entered when the self-service libraryterminal 10 is configured only for checkin. At start-up, if the staff ofthe library in which the self-service library terminal 10 is useddetermines that the self-service library terminal 10 is not to be usedduring a particular time period, then the microprocessor 60 at a block2000 retrieves the out-of-service screen display SCR-28 from the memory62 and displays that out-of-service screen display on the display 28. Onthe other hand, if the microprocessor 60 detects an error at start up,then the microprocessor 60 as indicated by a block 2002 retrieves theout-of-service screen display SCR-82 from the memory 62 and displaysthis out-of-service screen display on the display 28. As indicated inFIG. 4, the self-service library terminal 10 may be arranged to allowthe patron to continue under certain error conditions.

However, assuming that the staff of the library has not determined thatthe self-service library terminal 10 is not to be used during aparticular time period, and assuming that the microprocessor 60 does notdetect an error at start up, or if the patron is allowed to continueeven though there is an error, the microprocessor 60 at a block 2004retrieves a screen display SCR-80 directing the patron to place acirculating item on the cradle 14 or in the video slot 30, asappropriate. Thereafter, the microprocessor 60 changes the scan lineprojected by the reader 18 to a long and flashing (LF) scan line, andprogram flow proceeds to the point B of FIG. 25.

The flow chart of FIG. 25 is entered from FIG. 5 or 24. When the flowchart of FIG. 25 is entered, the microprocessor 60 at a point 2100determines an appropriate action. For example, if the microprocessor 60determines that a circulating item has already been checked in duringthe patron's current session at the self-service library terminal 10,but that the maximum event timer T11 has timed out before the patrontakes a further action, the microprocessor 60 at a block 2102 providesthe screen display SCR-81 directing the patron to place a book or CD onthe cradle or a video in the video slot 30, and program flow returns tothe point 2100. On the other hand, if the microprocessor 60 determinesthat a circulating item has already been checked in during the patron'scurrent session at the self-service library terminal 10, and if thewalkaway timer T21 times out before the patron takes any action, themicroprocessor 60 executes a walkaway routine similar to those shown inFIGS. 22 and 23.

If the action determined by the microprocessor 60 is that the librarypatron has initiated a termination sequence desiring to terminate thecurrent transaction, the microprocessor 60 enters the programrepresented by the flow chart of FIG. 21.

If the action determined by the microprocessor 60 is that a videocassette has been inserted into the video slot 30 of the self-servicelibrary terminal 10, program flow proceeds to point A of FIG. 27.

If the action determined by the microprocessor 60 is that both of thephotoelectric sensors 20 and 22 are covered, the microprocessor 60determines whether an item identifier is being read by the reader 18from a circulating article, and whether the item identifier being readis not a patron ID. If an item identifier is being read by the reader 18from a circulating item, and if the item identifier being read is not apatron ID, the microprocessor 60 determines whether a code-type check(inspection) is enabled and, if so, whether the item identifier beingread by the reader 18 is of an incorrect type (i.e., a type which isdifferent from the item identifier used on circulating items meant to beprocessed on the cradle 14). If the code-type check is not enabled, orif the reader 18 is reading an item identifier used on circulating itemsmeant to be processed on the cradle 14, the microprocessor 60 determineswhether the item identifier read by the reader 18 has been previouslyprocessed during the patron's current transaction. If the itemidentifier read by the reader 18 has not been previously processedduring the patron's current transaction, the scan line projected by thereader 18 is controlled so that it is long and steady (LS), and programflow proceeds to point A of FIG. 26 in order to proceed with thecheckout of the circulating item that is currently on the cradle 14. Onthe other hand, if the item identifier read by the reader 18 has beenpreviously processed, program flow proceeds to point B of FIG. 26.

If the code-type check is enabled, and if the reader 18 is not readingan item identifier used on circulating items meant to be processed onthe cradle 14, the microprocessor 60 provides the screen display SCR-37at a block 2104 indicating that the library patron is using the wrongitem identifier, and program flow returns to point 2100 of the routineshown in FIG. 25.

If both of the photoelectric sensors 20 and 22 are covered, but if themaximum event timer T23 times out before the reader 18 reads an itemidentifier on a circulating item, the microprocessor 60 at a point 2106determines whether the reposition counter R6 has accumulated a countgreater than the predetermined R6 threshold. If the reposition counterR6 has not accumulated a count greater than the predetermined R6threshold, the microprocessor 60 at a block 2108 provides the screendisplay SCR-36 indicating that the reader 18 cannot read the itemidentifier and directing the patron to reposition the circulating itemon the cradle 14. Also, the microprocessor 60 at a block 2110 incrementsthe reposition counter R6, and program flow proceeds to the point 2100.

If the count accumulated by the reposition counter R6 exceeds thepredetermined R6 threshold, the microprocessor 60 at a block 2112provides the screen display SCR-35 indicating that the reader 18 cannotread the bar code on the circulating item and directing the patron totake the circulating item to the circulation desk for processing by amember of the library staff. Thereafter, the microprocessor 60 sets thescan line projected by the reader 18 to long and flashing (LF). If thepatron does not remove the circulating item from the cradle 14 beforethe walkaway-item-removed timer T24 times out, the walkaway routine ofFIG. 22 is entered. If the patron does remove the circulating item fromthe cradle 14 before the walkaway-item-removed timer T24 times out,program flow proceeds to a block 2114 where the microprocessor 60provides the screen display SCR-81 indicating that the self-servicelibrary terminal 10 is ready for the next circulating item, and resetsthe reposition counter R6 at a block 2116.

If the action determined by the microprocessor 60 is that the idleindicator 16 is not read (indicating that a circulating item may be onthe cradle 14 and covering the idle indicator 16), and that both of thephotoelectric sensors 20 and 22 are not covered, the microprocessor 60proceeds to the point 2106 and follows the flow through the blocks 2108and 2110, or the block 2112, as described above.

If the action determined by the microprocessor 60 is that an itemidentifier is read by the reader 18, that both of the photoelectricsensors 20 and 22 are not covered, and that the maximum event timer T22has timed out, the microprocessor 60 determines whether the repositioncounter R6 has accumulated a count greater than the predetermined R6threshold. If the reposition counter R6 has not accumulated a countgreater than the predetermined R6 threshold, the microprocessor 60 at ablock 2118 provides the screen display SCR-32 directing the patron topush the circulating item against the back wall 26. Also, themicroprocessor 60 at a block 2120 increments the reposition counter R6,and program flow proceeds to the point 2100.

If the count accumulated by the reposition counter R6 exceeds thepredetermined R6 threshold, the microprocessor 60 at a block 2122provides the screen display SCR-34 indicating that the position of thecirculating item on the cradle 14 is incorrect and directing the patronto ask for help. Thereafter, the microprocessor 60 sets the scan lineprojected by the reader 18 to long and flashing. If the patron does notask for help before the walkaway-item-removed timer T24 times out,program flows proceeds to the walkaway routine shown in FIG. 22. If thepatron does not ask for help before the walkaway-item-removed timer T24times out, program flows proceeds to the block 2114.

The routine shown in FIG. 26 is entered from the routine shown in FIG.25. When the routine shown in FIG. 26 is entered through point A, themicroprocessor 60 at a block 2200 provides either a screen displaySCR-69 indicating that the self-service library terminal 10 is beingused to check in a book or CD or a screen display SCR-70 indicating thatthe self-service library terminal 10 is being used to check in a video,as appropriate. Thereafter, the microprocessor 60 at a block 2202 sendsa check-in request to the data server 50 of the circulation system. Themicroprocessor 60 then determines if checkin is successful. If checkinis not successful, the microprocessor 60 at a block 2204 provides ascreen display SCR-65 indicating that checkin has failed, providing theparticular reason for the failed checkin, and directing the librarypatron to take the circulating item to the circulation desk. Thereafter,program flow proceeds to point C of FIG. 25.

If checkin is successful (or if the item has already been checked-in),the microprocessor 60 determines whether a video is on the cradle 14. Ifa video is not on the cradle 14, the microprocessor 60 at a block 2206resensitizes the magnetic security marker in the circulating item, savesthe item identifier, and designates a storage bin or other location intowhich the library patron will be directed to place the circulating item.These storage bins may be arranged as sort bins so that, when themicroprocessor 60 directs the library patron to place the circulatingitem into a storage bin, the library patron is in effect sorting thecirculating item. Thereafter, the microprocessor 60 at a block 2207provides either a screen display SCR-67 in the case where a book or a CDis being checked in or a screen display SCR-68 in the case where a videois being checked in. Both of these screen displays confirm the checkin,direct the patron to remove the circulating item, and directs thelibrary patron to place the circulating item into the designated storagebin.

The microprocessor 60 at a block 2208 then directs the printer 70 toprint a receipt, unless the information to be printed is being buffered,in which case the block 2208 is bypassed. The microprocessor 60 at apoint 2210 then determines which appropriate action to take. Forexample, if the maximum event timer T27 times out before the currentcirculating item is removed, the microprocessor 60 at a block 2211provides either a screen display SCR-73 directing the patron to removethe book or CD from the cradle 14 or a screen display SCR-74 directingthe patron to remove the video from the video slot 30. Thereafter,program flow proceeds to point C of FIG. 25.

If the microprocessor 60 determines that the book or CD on the cradle 14or the video in the video slot 30 has been removed, program flowproceeds to point B of FIG. 25.

If the microprocessor 60 determines that a new book or CD has beenplaced on the cradle 14 before the current book or CD is removed, orthat a new video has been inserted into the video slot 30 before thecurrent video is removed, the microprocessor 60 at a block 2212 provideseither a screen display SCR-71 directing the library patron to firstremove the current book or CD from the cradle 14, or a screen displaySCR-72 directing the library patron to first remove the current videofrom the video slot 30. If the patron does not remove the circulatingitem before the walkaway-item-removed timer T29 times out, program flowproceeds to a walkaway routine similar to the walkaway routines shown inFIGS. 22 and 23. If the patron removes the circulating item beforewalkaway-item-removed timer T29 times out, program flow returns to point2210.

If a video is on the cradle 14, the microprocessor 60 determines whetherthe library has selected the Magnetic Media on Cradle option. If theMagnetic Media on Cradle option has been selected, the microprocessor 60at a block 2214 essentially executes the same processing as indicated bythe block 2206, except that the sensitizer/desensitizer 24 is notenergized because, otherwise, information would be lost from the video.Program flow then proceeds to the block 2207. However, if the MagneticMedia on Cradle option has not been selected, the microprocessor 60determines whether the self-service library terminal 10 has a video slot30 and a video reader 74 (i.e., a VCU). If the self-service libraryterminal 10 has a VCU, the microprocessor 60 at a block 2216 providesthe screen display SCR-54 directing the patron to put the video in thevideo slot 30. Thereafter, program flow proceeds to point C of FIG. 25.If the self-service library terminal 10 does not have a VCU, themicroprocessor 60 at a block 2218 provides the screen display SCR-62directing the patron to take the video to the circulation desk.Thereafter, program flow proceeds to point C of FIG. 25.

The routine shown in FIG. 27 is entered from the routine shown in FIG.25. When the routine shown in FIG. 27 is entered, the microprocessor 60determines an appropriate action. For example, if a video is pulled outof the video slot 30, program flow proceeds to point B of FIG. 25, wherethe library patron is informed that the self-service library terminal 10is ready to process the next item.

If the microprocessor 60 determines that a video has been fully insertedinto the video slot 30, the microprocessor 60 at a point 2300 determineswhether an item identifier in the proper format is read from the videoin the video slot 30. If an item identifier in the proper format is readfrom the video in the video slot 30, the microprocessor 60 determineswhether the item identifier has already been processed. If the itemidentifier has not already been processed, program flow proceeds topoint A of FIG. 26. If the item identifier in the proper format hasalready been processed, the microprocessor 60 at a block 2302 causes thevideo to be resensitized, program flow proceeds to point B of FIG. 26.In order to avoid erasing the data on the video, a lower intensitydesensitizer should be used.

If an item identifier in the proper format is not read from the video inthe video slot 30 before the maximum event timer T31 times out, themicroprocessor 60 determines whether the count of the reposition counterR6 has exceeded the predetermined R6 threshold. If the count accumulatedby the reposition counter R6 is greater than the predetermined R6threshold, the microprocessor 60 at a block 2304 provides the screendisplay SCR-39 informing the patron that the self-service libraryterminal 10 cannot read the item identifier from the video and directingthe patron to take the video to the circulation desk. Thereafter,program flow proceeds to point C of FIG. 25. On the other hand, if thecount accumulated by the reposition counter R6 is less than thepredetermined R6 threshold, the microprocessor 60 at a block 2306provides the screen display SCR-85 directing the patron to repositionthe video in the video slot 30. The microprocessor 60 also incrementsthe count of the reposition counter R6 at a block 2308, and program flowthen proceeds to point D of FIG. 25.

If the maximum event timer T30 times out before the video is pulled outof the video slot 30 or the video is fully inserted into the video slot30, the microprocessor 60 at a block 2310 provides the screen displaySCR-42 instructing the patron to fully insert the video into the videoslot 30. Thereafter, the microprocessor 60 functions in one of threeways. First, if the video is fully inserted into the video slot 30,program flow proceeds to the point 2300. Second, if the maximum eventtimer T32 times out before the video is pulled out of the video slot 30or the video is fully inserted into the video slot 30, themicroprocessor 60 at a block 2312 provides the screen display SCR-41directing the patron to take the video out of the video slot 30 and totry reinserting the video into the video slot 30. Thereafter, programflow proceeds to point C of FIG. 25. Third, if the microprocessor 60determines that the video has been pulled out of the video slot 30before its item identifier has been read, program flow proceeds to pointB of FIG. 25.

The routine shown in FIG. 28 is entered from FIGS. 20 and 21 if there isa printer error state. This error state may be entered when the printer70 is out of paper or when the printer 70 otherwise needs servicing. Ifthe printer 70 is in an error state, the microprocessor 60 at a block2500 provides either a screen display SCR-76 informing the patron thatthe printer 70 is out of paper or a screen display SCR-53 informing thepatron that there is a general printer error, as appropriate.Alternatively, the self-service library terminal 10 may give the patronthe option of proceeding with a checkout or checkin if, for example, theprinter problem is merely that the printer 70 is out of paper.Thereafter, program flow returns to the particular block from which theroutine shown in FIG. 28 was invoked.

The routine shown in FIG. 29 is entered from the routines shown in FIGS.7, 9, 11, and 14. When this routine is entered, the microprocessor 60determines whether to display patron information (as may be determinedby a software switch). If not, program flow proceeds to point A of FIG.15. If patron information is to be displayed, the microprocessor at ablock 2550 provides the screen display SCR-57 informing the patron ofthe appropriate patron status. Thereafter, the microprocessor 60determines an appropriate action. For example, if a maximum event timerT36 times out before the patron presses a key on the keypad 32, or if alibrary patron presses a key of the keypad 32 as indicated by a block2552, program flow proceeds to point A of FIG. 15.

FIG. 30 shows how configuration data is prepared using either the dataserver 50 or the self-check library terminal 10. This configuration dataincludes, inter alia, screen display layouts, text objects, receiptlayouts, receipt text, machine setup data, language selection data, barcode filters, sends/selects, upgrades, diagnostics, host interfaces,fonts, timer durations, and the like. The screen display layouts,receipt layouts, and text objects are configured using a personalcomputer 2600 (or, alternatively, the self-service library terminal 10)running a configuration program (labeled SAS in FIG. 30). The screendisplay layouts may be prepared as bit maps by a screen display editoroperating on the personal computer 2600 (or, alternatively, theself-service library terminal 10). These screen display bit maps mayinclude the fonts used in the screen displays. Also, the screen displayeditor may present configuration screens to the user in order to aid theuser in preparing the screen display layouts.

The screen display layouts and text are stored in a file 2602, and thereceipt layouts and text are stored in a file 2604. The screen displaylayouts may be stored as bit maps in the file 2602. Message responsetext is typically configured for or by a library using a personalcomputer 2608 (or the personal computer 2600) running a configurationprogram (labeled LAV in FIG. 30). The message response text may bestored along with the configuration data. The configuration data storedin the files 2602 and 2604, together with the message response text arethen downloaded into the self-service library terminal 10 in order toconfigure this terminal.

Certain modifications of the present invention have been discussedabove. Other modifications will occur to those practicing in the art ofthe present invention. For example, the data server 50 is describedabove as an apparatus on which configuration data can be generated, or aself-service library terminal on which configuration data can begenerated, or a gateway such that configuration data is generated on oneof the other library terminals 52, 54, 56, 58, . . . n shown in FIG. 2.Alternatively, the terminal 50 can be arranged to function as both aself-service library terminal and a gateway.

Also, as described above, the scan line projected by the reader 18 maybe long and steady, long and flashing, short and steady, and short andflashing. However, the scan line projected by the reader 18 may becontrolled so that it has different blink rates.

In addition, as described above, the microprocessor 60 provides a sadtone, a happy tone, and a walk-away tone through use of the audibletransducer 40. The microprocessor 60 may also be arranged to control theaudible transducer 40 so as to provide a tone indicating that theself-service library terminal 10 requires non-walk-away servicing, suchas servicing because the printer 70 is out of paper.

Moreover, various maximum event timers have been described above suchthat, when they time out, program flow proceeds to a predetermined pointin the program. As an interim step, however, the library patron mayfirst be asked whether the patron needs additional time. If the patrondoes not respond within a fixed amount of time, program flow proceeds tothe predetermined point in the program. On the other hand, if the patrondoes respond within the fixed amount of time, the patron is givenadditional time before program flow proceeds to the predetermined pointin the program. Also, the self-service library terminal 10 may bearranged to block the patron's library card if the patron does notrespond within the patron's allotted time.

Furthermore, as described above, the microprocessor 60 is arranged todetect a printer error state. Likewise, the microprocessor 60 may bearranged to detect error states other than printer error states. Forexample, an error state may occur when the communication link 72 isdown, or when the reader 18 or the reader 74 is out of service. In anyof these error states, the library patron may be given the option ofcontinuing or not continuing with a loan transaction, or themicroprocessor 60 may be arranged to simply block the current loantransaction. If any part of the self-service library terminal 10 is outof service, the self-service library terminal 10 may be arranged tonotify the patron which part is out of service.

Also, as described above, the cradle 14 is arranged to receive both abook and a CD. Instead, a separate receiving area may be provided in thehousing 12 for receiving CD's.

In addition, if the self-service library terminal 10 is enabled toprocess a chargeable loan, and if the patron agrees to the charge, thepatron is allowed to proceed. However, if the patron does not agree tothe charge, the patron is instructed to remove the circulating item andthe patron is not permitted to continue with that circulating item.Instead, the self-service library terminal 10 may be arranged to allowthe patron to continue checking out a circulating item even if thepatron does not agree to pay a loan fee or fine. Similarly, theself-service library terminal 10 may be arranged to remind the patron ofprevious exacted fines and of other circulating items that the patronhas on hold and that the patron has not yet checked out.

Moreover, as described above, the photoelectric sensors 20 and 22 areused to sense circulating items on the cradle 14. Instead, other typesof proximity sensors may be used to sense circulating items on thecradle 14.

Furthermore, as described above, a library patron may choose one ofthree ways (the keypad 32, the reader 18, or the magnetic stripe reader34) to enter the patron's identification. Instead, the library in whichthe self-service library terminal 10 is used may restrict the patron toonly one mode or may provide the patron with any number ofidentification modes greater than or less than three.

Also, more photoelectric sensors than the photoelectric sensors 20 and22 may be used on the cradle 14.

Accordingly, the description of the present invention is to be construedas illustrative only and is for the purpose of teaching those skilled inthe art the best mode of carrying out the invention. The details may bevaried substantially without departing from the spirit of the invention,and the exclusive use of all modifications which are within the scope ofthe appended claims is reserved.

1. A self-service library terminal comprising: a reader arranged to readidentifications on books involved in library loan transactions; apayment apparatus arranged to receive payment from a borrower; acontroller, wherein the controller is arranged to process signals fromthe reader corresponding to the identifications read by the reader,wherein the controller is arranged to interact with the paymentapparatus in order to process financial transactions related to thelibrary loan transactions, and wherein the controller is arranged toremind the borrower of the borrower's account status; and, a display,wherein the controller is arranged to control the display in order toremind the borrower that a loan is a chargeable loan.
 2. Theself-service library terminal of claim 1 wherein the controller isarranged to control the display in order to request that the borrowerpay a fee for the chargeable loan.
 3. The self-service library terminalof claim 1 wherein the controller is arranged to control the display inorder to request that the borrower pay a fee for the chargeable loanupon return of the book.
 4. The self-service library terminal of claim 1wherein the display is a monitor.
 5. The self-service library terminalof claim 1 wherein the display is a printer.
 6. A self-service libraryterminal comprising: a reader arranged to read identifications on booksinvolved in library loan transactions; a payment apparatus arranged toreceive payment from a borrower; a controller, wherein the controller isarranged to process signals from the reader corresponding to theidentifications read by the reader, wherein the controller is arrangedto interact with the payment apparatus in order to process financialtransactions related to the library loan transactions, and wherein thecontroller is arranged to remind the borrower of the borrower's accountstatus; and, a display, wherein the controller is arranged to controlthe display in order to remind the borrower of an overdue bookchargeable to the borrower, and wherein the controller is arranged toallow the borrower to continue a present loan transaction even thoughthe borrower has not paid for overdue book.
 7. A self-service libraryterminal comprising: a reader arranged to read identifications on booksinvolved in library loan transactions; a payment apparatus arranged toreceive payment from a borrower; a controller, wherein the controller isarranged to process signals from the reader corresponding to theidentifications read by the reader, wherein the controller is arrangedto interact with the payment apparatus in order to process financialtransactions related to the library loan transactions, and wherein thecontroller is arranged to remind the borrower of the borrower's accountstatus; and, a display, wherein the controller is arranged to controlthe display in order to remind the borrower of an overdue bookchargeable to the borrower, and wherein the controller is arranged togive the borrower the option of continuing a present loan transactioneven though the borrower has not paid for an overdue book or of payingimmediately for the overdue book.
 8. A self-service library terminalcomprising: a reader arranged to read identifications on books involvedin library loan transactions; a payment apparatus arranged to receivepayment from a borrower; a controller, wherein the controller isarranged to process signals from the reader corresponding to theidentifications read by the reader, wherein the controller is arrangedto interact with the payment apparatus in order to process financialtransactions related to the library loan transactions, and wherein thecontroller is arranged to remind the borrower of the borrower's accountstatus; and, a display, wherein the controller is arranged to controlthe display in order to remind the borrower of a hold reserved for theborrower.
 9. A self-service library terminal comprising: a readerarranged to read identifications on books involved in library loantransactions; a payment apparatus arranged to receive payment from aborrower; a controller, wherein the controller is arranged to processsignals from the reader corresponding to the identifications read by thereader, wherein the controller is arranged to interact with the paymentapparatus in order to process financial transactions related to thelibrary loan transactions, and wherein the controller is arranged toremind the borrower of the borrower's account status; and, a connector,wherein the connector is arranged to couple the self-service libraryterminal over a link to a circulation system, and wherein the controlleris arranged to store loan transactions during periods when the link tothe circulation system is down so that the loan transactions can belater transferred to the circulation system.
 10. A self-service libraryterminal comprising: a reader arranged to read identifications on booksinvolved in library loan transactions; a payment apparatus arranged toreceive payment from a borrower; a controller, wherein the controller isarranged to process signals from the reader corresponding to theidentifications read by the reader, wherein the controller is arrangedto interact with the payment apparatus in order to process financialtransactions related to the library loan transactions, and wherein thecontroller is arranged to remind the borrower of the borrower's accountstatus; and, a display, wherein the controller is arranged to controlthe display in order to remind the borrower of a new charge, and whereinthe controller is arranged to control the display in order to remind theborrower that the borrower can accept or reject the new charge.
 11. Aself-service library terminal comprising: a reader arranged to readidentifications on books involved in library loan transactions; apayment apparatus arranged to receive payment from a borrower; acontroller, wherein the controller is arranged to process signals fromthe reader corresponding to the identifications read by the reader,wherein the controller is arranged to interact with the paymentapparatus in order to process financial transactions related to thelibrary loan transactions, and wherein the controller is arranged toremind the borrower of the borrower's account status; and, a bookreceiving area, wherein the controller is arranged to control the readerso as to project a visible indicator onto the book receiving area and soas to change the visible indicator between first and second visiblestates.
 12. A self-service library terminal comprising: a reader thatreads identifications on books involved in library loan transactions; apayment receiver that receives payments associated with the loantransactions; a controller that processes the identifications read bythe reader and the payments received by the payment receiver; and, adisplay, wherein the controller controls the display in order to remindthe borrower that a loan is a chargeable loan.
 13. The self-servicelibrary terminal of claim 12 wherein the controller controls the displayin order to request that the borrower pay a fee for the chargeable loan.14. The self-service library terminal of claim 12, wherein thecontroller controls the display in order to request that the borrowerpay a fee for the chargeable loan upon return of the book.
 15. Aself-service library terminal comprising: a reader that readsidentifications on books involved in library loan transactions; apayment receiver that receives payments associated with the loantransactions; a controller that processes the identifications read bythe reader and the payments received by the payment receiver; and, adisplay, wherein the controller controls the display to remind theborrower of an overdue book chargeable to the borrower, and wherein thecontroller allows the borrower to continue a present loan transactioneven though the borrower has not paid for overdue book.
 16. Aself-service library terminal comprising: a reader that readsidentifications on books involved in library loan transactions; apayment receiver that receives payments associated with the loantransactions; a controller that processes the identifications read bythe reader and the payments received by the payment receiver; and, aconnector, wherein the connector is arranged to couple the self-servicelibrary terminal over a link to a circulation system, and wherein thecontroller is arranged to store loan transactions during periods whenthe link to the circulation system is down so that the loan transactionscan be later transferred to the circulation system.
 17. A self-servicelibrary terminal comprising: a reader that reads identifications onbooks involved in library loan transactions; a payment receiver thatreceives payments associated with the loan transactions; a controllerthat processes the identifications read by the reader and the paymentsreceived by the payment receiver; and, a book receiving area, whereinthe controller is arranged to control the reader so as to project avisible indicator onto the book receiving area and so as to change thevisible indicator between first and second visible states.
 18. A methodimplemented by a self-service library terminal comprising: reading anidentification on a book involved in a library loan transaction; readinga payment from a payment card; processing the identification todetermine an identification of the book involved in the loantransaction; processing the payment in relation to the loan transaction;and, displaying a reminder to a patron that a loan is a chargeable loan.19. A method implemented by a self-service library terminal comprising:reading an identification on a book involved in a library loantransaction; reading a payment from a payment card; processing theidentification to determine an identification of the book involved inthe loan transaction; processing the payment in relation to the loantransaction; and, displaying a request that a patron pay a feeassociated with the loan transaction.
 20. A method implemented by aself-service library terminal comprising: reading an identification on abook involved in a library loan transaction; reading a payment from apayment card; processing the identification to determine anidentification of the book involved in the loan transaction; processingthe payment in relation to the loan transaction; and, displaying arequest that a patron pay a fee for a chargeable loan transaction.
 21. Amethod implemented by a self-service library terminal comprising:reading an identification on a book involved in a library loantransaction; reading a payment from a payment card; processing theidentification to determine an identification of the book involved inthe loan transaction; processing the payment in relation to the loantransaction; projecting a visible indicator onto a book receiving area;and, changing the visible indicator between first and second visiblestates.
 22. A self-service library terminal comprising: a readerarranged to read identifications on articles involved in library loantransactions; a payment apparatus arranged to receive payment from aborrower for fines related to overdue articles; a controller, whereinthe controller is arranged to process signals from the readercorresponding to the identifications read by the reader, and wherein thecontroller is arranged to interact with the payment apparatus in orderto process the fines related to the library loan transactions; and, aconnector, wherein the connector is arranged to couple the self-servicelibrary terminal over a link to a circulation system, and wherein thecontroller is arranged to store loan transactions during periods whenthe link to the circulation system is down so that the loan transactionscan be later transferred to the circulation system.